ano*_*non 0 c++ constructor memory-management new-operator
想象一下,我在C-land,我有
void* my_alloc(size_t size);
void* my_free(void*);
Run Code Online (Sandbox Code Playgroud)
然后我可以浏览我的代码并用my_alloc/my_free替换所有对malloc/free的调用.
怎么,我知道给了一个Foo课,我可以做新的安置; 我也可以重载新运算符.但是,有没有办法为我的所有 C++类做到这一点?(即我想为新的和新的[]使用我自己的分配器;但我不想破解并破解我定义的每个类.)
谢谢!
在全球范围内,
void* operator new(size_t s) { return my_alloc(s); }
void operator delete(void* p) { my_free(p); }
void* operator new[](size_t s) { return my_alloc(s); }
void operator delete[](void* p) { my_free(p); }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |