关于c++的内存管理

来源:互联网 发布:怎么测试自己网络稳定 编辑:程序博客网 时间:2024/05/17 06:33

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



内存的问题通常有:

1.分配的成功与否

2.初始化与否

3.使用时越界与否

4.使用后释放与否

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

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



经验:

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


原创粉丝点击