主要内容
- 内存管理
- 内存泄漏
- 内存回收
内存管理
内存分区:
5个区:栈、堆、自由存储区、全局/静态存储区和常量存储区。
栈与堆的区分
int * p= new int[5];
以上代码的意思是:在栈内存中存放了一个指向一块堆内存的指针。
new
与delete
new
int* p1=new int;//分配一个int大小的空间
int* p2=new int(3);//分配一块空间,并将空间初始化成3.
int* p3=new int[3];//分配3个int对象的空间。
delete
delete p;
delete [] p;//删除首地址为p的数组