重いコードの置換を行うためのツール、正規表現、またはその他の魔法を探しています。
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 内に追加するにはどうすればよいですか?