草庐IT

max_old_space_size

全部标签

c++ - 错误 C2228 : left of '.size' must have class/struct/union

我在调用vector的size()时遇到此编译器错误。为什么?#include#include#include#include#include#includeusingnamespacestd;classVertex{floatfirstValue;floatsecondValue;floatthirdValue;Vertex(floatfirst,floatsecond,floatthird){firstValue=first;secondValue=second;thirdValue=third;}};intmain(){cout>actualLine;istringstreama

c++ - std::size_t vs size_t vs std::string::size_type

size_t在哪里什么时候我什么都没有?总是假设size_t是否合理?==std::size_t?什么时候应该使用size_type在std容器(string::size_type、vector::size_type等)? 最佳答案 Wheredoessize_tcomefromwhenIdon'thaveanythingincludedinanemptyproject?如果您没有包含任何内容,则无法使用size_t.它在中定义(也可能在中,如果您的该header版本将定义放在全局命名空间以及std中)。Isitreasonable

c++ - std::size_t vs size_t vs std::string::size_type

size_t在哪里什么时候我什么都没有?总是假设size_t是否合理?==std::size_t?什么时候应该使用size_type在std容器(string::size_type、vector::size_type等)? 最佳答案 Wheredoessize_tcomefromwhenIdon'thaveanythingincludedinanemptyproject?如果您没有包含任何内容,则无法使用size_t.它在中定义(也可能在中,如果您的该header版本将定义放在全局命名空间以及std中)。Isitreasonable

c++ - 如何在不破坏代码的情况下正确修复 "zero-sized array in struct/union"警告(C4200)?

我正在将一些代码集成到我的库中。这是一个针对速度进行了优化的复杂数据结构,所以我尽量不要对其进行过多修改。集成过程进展顺利,实际上几乎完成(它编译)。一件事仍然困扰着我。我多次收到C4200警告:warningC4200:nonstandardextensionused:zero-sizedarrayinstruct/unionCannotgeneratecopy-ctororcopy-assignmentoperatorwhenUDTcontainsazero-sizedarray代码有效,但这个警告让我毛骨悚然(尤其是带有copy-ctor的部分)。由于这样声明的结构而出现警告:#

c++ - 如何在不破坏代码的情况下正确修复 "zero-sized array in struct/union"警告(C4200)?

我正在将一些代码集成到我的库中。这是一个针对速度进行了优化的复杂数据结构,所以我尽量不要对其进行过多修改。集成过程进展顺利,实际上几乎完成(它编译)。一件事仍然困扰着我。我多次收到C4200警告:warningC4200:nonstandardextensionused:zero-sizedarrayinstruct/unionCannotgeneratecopy-ctororcopy-assignmentoperatorwhenUDTcontainsazero-sizedarray代码有效,但这个警告让我毛骨悚然(尤其是带有copy-ctor的部分)。由于这样声明的结构而出现警告:#

windows - x64 程序集中的 'shadow space' 是什么?

我找到了很多关于这个影子空间的话题,但我都找不到答案,所以我的问题是:在进入过程之前,我需要从堆栈指针中减去多少字节?我应该在减去“影子空间”之前将过程参数压入堆栈吗?我已经反汇编了我的代码,但我找不到逻辑。 最佳答案 影子空间(有时也称为溢出空间或主空间)比被调用函数拥有的返回地址高32个字节(并且可以用作暂存空间),如果有的话,在堆栈参数下方。调用者必须在运行call指令之前为其被调用者的影子空间保留空间。它的目的是让调试x64更容易。回想一下first4parametersarepassedinregisters.如果您闯入调

windows - x64 程序集中的 'shadow space' 是什么?

我找到了很多关于这个影子空间的话题,但我都找不到答案,所以我的问题是:在进入过程之前,我需要从堆栈指针中减去多少字节?我应该在减去“影子空间”之前将过程参数压入堆栈吗?我已经反汇编了我的代码,但我找不到逻辑。 最佳答案 影子空间(有时也称为溢出空间或主空间)比被调用函数拥有的返回地址高32个字节(并且可以用作暂存空间),如果有的话,在堆栈参数下方。调用者必须在运行call指令之前为其被调用者的影子空间保留空间。它的目的是让调试x64更容易。回想一下first4parametersarepassedinregisters.如果您闯入调

c++ - 'numeric_limits' 未在此范围内声明,没有用于调用 ‘max()’ 的匹配函数

我在家里的macw/xcode上编译了这段代码,没有任何问题。我在学校用linux上的g++编译它,我得到了这些错误:numeric_limits’isnotamemberofstdexpectedprimary-expressionbefore‘>’tokennomatchingfunctionforcallto‘max()’#include#includeusingnamespacestd;intGetIntegerInput(intlower,intupper){intinteger=-1;do{cin>>integer;cin.clear();cin.ignore(std::n

c++ - 'numeric_limits' 未在此范围内声明,没有用于调用 ‘max()’ 的匹配函数

我在家里的macw/xcode上编译了这段代码,没有任何问题。我在学校用linux上的g++编译它,我得到了这些错误:numeric_limits’isnotamemberofstdexpectedprimary-expressionbefore‘>’tokennomatchingfunctionforcallto‘max()’#include#includeusingnamespacestd;intGetIntegerInput(intlower,intupper){intinteger=-1;do{cin>>integer;cin.clear();cin.ignore(std::n

c++ - 抛出异常后我可以信任 vector::size 吗?

我试图了解异常如何影响std::vector。更准确地说,我想在抛出内存不足异常时检查vector的大小。我的意思是这样的:std::vectorv;try{for(unsignedinti=0;i这是一个好方法还是我应该使用我的自变量来跟踪vector的大小? 最佳答案 来自thedocumentationforstd::vector::push_back:Ifanexceptionisthrown(whichcanbeduetoAllocator::allocate()orelementcopy/moveconstructor/