目录
一、per-class allocator,版本1st
为减少malloc次数并减少cookie占用的内存,可先分配一个内存池,再从内存池不断获取内存
使用全局operator new分配内存时需要分配8 bytes用来存储上下两个cookie,所以未使用上述自定义的内存分配器会占用更多内存
二、per-class allocator,版本2nd
相比第一个版本使用了共用体,减少了指针内存的占用
三、static allocator 版本3rd
如果每个类中都要重载operator new/operator delete太麻烦,所以设计一个类allocator
嵌入式指针????
使用:
静态成员变量是所有实例共享的,但是其只是在类中进行了声明,并未定义或初始化(分配内存),类和者类实例就无法访问静态成员变量,这显然是不对的,所以必须先在类外部定义,也就是分配内存。(allocator Foo::myAlloc)
测试结果:
四、macro for static allocator 版本4th
使用宏代替代码