在 C++ 中正确使用栈和堆?


- 在函数内声明的所有变量都将占用栈中的内存。因此,函数内的任何局部变量都存活在栈中。

- 这是程序的未使用内存,可在程序运行时用于动态分配内存。因此,如果我们想要某些东西比声明它的函数存在更长时间,我们必须在堆上分配它。

示例

int main() {
   int a; //get memory allocated on stack.
   int *ptr=new int[7]; //memory for 7 integers allocated on heap.
}

堆内存中的主要问题是碎片,而栈中更可能出现内存短缺问题。堆中的内存大小是可以更改的,而栈中的内存大小是无法更改的。

更新于: 2019 年 7 月 30 日

598 次浏览

开启你的职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.