C++内存管理
内存管理
内存管理详解
内存分配方式
分配方式简介
在C++中,内存分为5个区:
- 栈:执行函数时,函数内部局部变量存储单元在栈上创建,结束时自动释放。效率很高,但存储容量有限。
- 堆:由 new 分配的内存块,编译器不会自动释放,需要应用程序对应的 delete 进行释放。如果没有释放,则程序运行结束后会由操作系统自动回收。
- 自由存储区:由 malloc 等分配的内存块,类似堆,由 free 结束自己的生命。
- 全局/静态存储区:存储全局变量和静态变量。
- 常量存储区:存放常量,不允许修改。