上一节我们说了我们希望通过重载内存管理函数来接管系统默认的内存分配流程,从而提高效率和节省空间(省掉cookie),本节我们具体谈谈怎么重载以及如何重载这些工具函数

1、重载全局版本::operator new/::operator delete

C++内存管理知识总结<二 >——<重载内存管理函数>

2、在类里面重载类专属的operator new/operator delete

C++内存管理知识总结<二 >——<重载内存管理函数>

C++内存管理知识总结<二 >——<重载内存管理函数>

2.1、示例

以下给出一个重载的示例,观察我们如何将操作系统的动作接管过来

1、重载类里面的operator new/operator delete

C++内存管理知识总结<二 >——<重载内存管理函数>

2、::operator new/::operator delete使用

若直接使用全局的new/delete,则会绕过类里面重载的函数

C++内存管理知识总结<二 >——<重载内存管理函数>

3、重载placement new()

new是(表达式)操作符,new()就是placement new()

C++内存管理知识总结<二 >——<重载内存管理函数>

C++内存管理知识总结<二 >——<重载内存管理函数>

C++内存管理知识总结<二 >——<重载内存管理函数>

 

相关文章: