我正在寻找一种工具、正则表达式或其他魔法来进行一些繁重的代码替换。
理想情况下,我可以通过new
调用保留参数的函数来替换运算符的所有实例。
我有哪些选择?
更新:
例子:
ClassA* a = new ClassA<int>(1,2,3,4,new ClassB(1,2),"horrible");
应转换为:
ClassA* a = FUNCTION(ClassA<int>(1,2,3,4,FUNCTION(ClassB(1,2)),"horrible"));
FUNCTION 将执行以下操作:
FUNCTION(...) Debug(new __VA_ARGS__, __FILE__)
一个简单的替换几乎就可以了,它只缺少最后一个)
.
更新:
我最初的想法是使用宏来跟踪一些附加信息,例如__FILE__
,将其存储在 std 容器中,然后调用 new. 如果容器调用 new 会发生什么?如何__FILE__
在重载的 new 中添加?