【C++】内存管理内幕阅读笔记

主要内容

  • 内存管理
  • 内存泄漏
  • 内存回收

内存管理

内存分区:
5个区:栈、堆、自由存储区、全局/静态存储区和常量存储区。

栈与堆的区分

int * p= new int[5];

以上代码的意思是:在栈内存中存放了一个指向一块堆内存的指针

newdelete

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的数组
原文地址:https://www.cnblogs.com/bitbitbyte/p/12536626.html