c++内存管理1:primitives
目录
1、使用malloc() 和free() 分配和释放512字节的内存
3、调用::operator new()和::operator delete()全局函数

一般到CRT里,再往下会导致没有移植性
c++ primitives(c++ 工具)
基本用法
1、使用malloc() 和free() 分配和释放512字节的内存

2、使用new和delete
3、调用::operator new()和::operator delete()全局函数

事实上,第三个就是调用的第一个方法
4、分配器
早先版本

现在分配器的版本

new 表达式
new要做两件事
1、分配内存
2、调用构造函数

delete表达式
1、调用析构函数
2、释放内存

arrary new,arrary delete

因此需要注意加[]在delete时
构造由上往下,析构由下往上

可以发现arrary new的个数有被写到内存块里面
如果没有加上[],那么它当成一般的指针
上面的算式是要调到16的倍数,所以通过计算需要加上pad12个字节的空间
placement new

placement new指的是new(p)或者::operator new(size,void *)这样的形式将不会分配内存,因此不需要进行回收操作
分配内存的途径

容器的分配内存的途径



浙公网安备 33010602011771号