何时在C ++中分配内存?

时间:2014-03-16 15:48:45

标签: c++ memory

通常什么时候在C ++中分配内存,你有新的/ delete和virtualalloc,在一些其他API调用中,通常用于动态分配,但是我们有vector等等,那么分配内存的常见用途是什么?

3 个答案:

答案 0 :(得分:2)

如果你不知道,在编译时你需要多少项,最好选择使用动态分配。

通过这种方式,您可以(希望)处理所有输入而不会浪费内存,而是通过保留大阵列的大量空间。

// ...
int humongous[10000]; // I only expect 10 items, so this should be enough for creative users
// ...

答案 1 :(得分:1)

如果你想处理大内存(即无法在堆栈上分配的内存),那么你可以使用动态分配。

答案 2 :(得分:1)

作为一般答案:“可能存在程序的内存需求只能在运行时确定的情况。例如,当需要的内存取决于用户输入时。在这些情况下,程序需要动态分配内存,其中C ++语言集成了运算符new和delete。“

来源:http://www.cplusplus.com/doc/tutorial/dynamic/