关于c++的内存管理

首先,我们c++的内存分为栈(由高到低),堆(由低到高),常量区,全局/静态变量区,自由存储区



内存的问题通常有:

1.分配的成功与否

2.初始化与否

3.使用时越界与否

4.使用后释放与否

5.是否返回一个栈指针(注意区分char a[]="fdas",和char* a="fdas"的区别,前者是栈内存,后者是常量区),由于栈会在程序结束时销毁,所以返回的指针指向的是一个不定的东西,不可使用。

6.free和delete后是否将指针置为NULL(野指针)。野指针的内存是不可以使用的,就是释放了内存但是没有置NULL。



经验:

指针声明后应该立刻赋值或者NULL。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值