c++内存管理和内存池

内存分区

内存分区分别是堆,栈,自由存储区,全局/静态存储区,常量存储区和代码区。

面试题,能说下你了解的c++内存管理吗?

c++内存管理分为5个区,分别是堆,栈,全局/静态存储区,常量区和代码区。

栈区:在执行函数时,函数内的局部变量的存储单元可以在栈上创建,函数执行结束时这些存储单元被自动释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。

堆区:就是由new分配的内存块,它们的释放编译器不去管,用我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收,

全局/静态存储区:内存在程序编译时就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据,例如:局部static变量,全局static变量,全局变量和常量。

常量存储区:是一块比较特殊的存储区,它里面存放的是常量字符串,不允许修改。

代码区:主要存放程序的二进制代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值