今日、メモリ リーク検出に関するソース コードを見つけ、彼のヘッダー ファイルに次のマクロ定義を見つけました。
#ifndef MC_NO_REDEFINITION
#define new MC_NEW
#define MC_NEW new(__FILE__,__FUNCTION__,__LINE__)
#define mc_new new
else
//use defined function name instead of keyword new & delete
#define debug_new new(__FILE__,__FUNCTION__,__LINE__)
#endif
これが意味すること、new が表すことnew(__FILE__,__FUNCTION__,__LINE__)
、これが true の場合、コードで new を使用するときに本当に呼び出したいものをコンパイラがどのように認識するのでしょうか?