在 C++ 中正确使用栈和堆?
栈 - 在函数内声明的所有变量都将占用栈中的内存。因此,函数内的任何局部变量都存活在栈中。
堆 - 这是程序的未使用内存,可在程序运行时用于动态分配内存。因此,如果我们想要某些东西比声明它的函数存在更长时间,我们必须在堆上分配它。
示例
int main() {
int a; //get memory allocated on stack.
int *ptr=new int[7]; //memory for 7 integers allocated on heap.
}堆内存中的主要问题是碎片,而栈中更可能出现内存短缺问题。堆中的内存大小是可以更改的,而栈中的内存大小是无法更改的。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP