侯捷C++内存管理(一)

1.Overview

 

2.内存分配的每一层面

 

3.四个层面的基本用法

1)、对比一下:

 

扫描二维码关注公众号,回复: 7829028 查看本文章

4.基本构件之一newdelete expression(上) ——》new和operator new、malloc()函数的的关系:

 

5.基本构件之一newdelete expression(中) ——》直接调用析构函数

 

6.基本构件之一newdelete expression(下)

7.Array new 、array delete的泄露问题——》泄露的是指针指向的内存空间

当new[ ]的对象是int 或者复数等类型时,delete和delete[ ] 都是可以的,因为对象里面没有指针,析构函数不会清理指针所指向的内存;但是如果new[ ]的对象是带有指针的话,那么就一定要用delete[ ] 了。

 

8.Replacement new——》已经申请分配好了内存地址,如下:buf 

总结:new ——》array new——》placement new的区分

 

placement new的形式:new()

9.重载

——》看operator new函数是否有重载,如果没有重载,就调用全局的operator new;如果有重载,就用重载过的函数。

 

 

容器里面申请分配内存的流程:

 

10——11.重载示例(上 中 下)

placement new的重载示例:

 

————————————————
版权声明:本文为CSDN博主「_Leveon」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29230261/article/details/83071337

猜你喜欢

转载自www.cnblogs.com/zonkidd/p/11840474.html
今日推荐