c ++内存分配问题

The*_*uzz 1 c++ memory allocation

我试图创建一个数组: int HR[32487834]; 这不仅占用大约128 - 130兆字节的内存?即时通讯使用MS c ++ visual studios 2005 SP1,它崩溃并告诉我堆栈溢出.

Mic*_*urr 11

使用向量 - 数组数据将位于堆上,而当您离开函数或块时,仍然会自动清理数组:

std::vector<int> HR( 32487834);
Run Code Online (Sandbox Code Playgroud)


Zif*_*fre 7

虽然您的计算机可能有几千兆字节的内存,但堆栈却没有(默认情况下,我认为它在Windows上大约为1 MB,但您可以将其放大).

尝试在堆上分配它new [].