【发布时间】:2013-01-31 07:44:01
【问题描述】:
我正在寻找一种工具、正则表达式或其他魔法来进行一些繁重的代码替换。
理想情况下,我可以通过调用保留参数的函数来替换 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 会发生什么?如何在重载的 new 中添加 __FILE__?
【问题讨论】:
-
你能给我们举个输入输出的例子吗?
-
呃,
Ctrl+H在大多数 IDE 中都支持正则表达式。 -
什么操作系统?你用什么代码编辑器?
-
祝你好运,用正则表达式匹配括号...
标签: c++