文章目录
- 一. 内存管理是什么?
- 二. 为什么要有内存管理?
- 三. c++内存管理特性
- 四. operator new和operator delete
- 五. 定位new
- 六. malloc/free和new/delete的区别
- 七. 内存泄漏
- 总结:
一. 内存管理是什么?
二. 为什么要有内存管理?
为什么要替代掉c语言的malloc,calloc和realloc呢?
三. c++内存管理特性
- 使用方法
四. operator new和operator delete
- operator new和operator delete都是函数,不是对new重载!!!
- 两者内部分别会调用malloc, free。
- operator[] new, operator[] delete 分别调用operator new,operator delete函数,间接调用了malloc,free。
- 所以,总的来说:看上去使用的仅仅是new,delete,其实编译器做了很多工作,而且内部其实还是用了c语言的malloc和free。
- 注意:申请一段n个类型连续空间的时候,delete[] 是调用了n次析构的,而且也调用了n次构造!!!
五. 定位new
六. malloc/free和new/delete的区别
七. 内存泄漏
总结:
内存管理是我们重要的一个环节,也是我们学习语法的基石之一!!!