覆盖类操作符new和delete而不更改类

时间:2012-03-31 00:15:33

标签: c++ c++11

我想覆盖某些类的operator newdelete,但我不想修改类本身。有没有办法实现这个目标?

基本上,我无法修改类声明,因此以下方法不起作用:

struct C {
  operator new (size_t) { ... }
};

我不想修改全局版本,因为全局operator new没有类型信息。

有没有办法解决我的问题?

编辑:KerrekSB在这里提出了一个有效的观点。我会重新考虑我的要求。

1 个答案:

答案 0 :(得分:0)

我能想到的最佳近似是有一个继承自你不想修改的类,并覆盖子中的new和delete。但不清楚是否能解决你的问题。