【发布时间】:2013-09-10 13:36:17
【问题描述】:
我编写了一个自定义内存管理器,但在尝试将其隐藏在幕后时遇到了麻烦。它的 API 公开了一个不带参数的模板方法 Allocate。魔术就是这样完成的。它使用提供的类型来推断一些东西并确保它可以稍后调用析构函数,因此我能够在此方法中获取 RTTI 非常重要。
问题是我想使用 global new 所以内存管理器在幕后并且它不会强加奇怪的语法(如果我使用 global new 我也将能够管理任何东西,而不仅仅是用户代码)。
所以问题是:有什么方法可以在operator new 中隐藏对Allocate<Object>( ) 的调用?
【问题讨论】:
标签: c++ templates memory-management syntax new-operator