#undef
マクロの再定義に
使用することについて質問があります。いくつかの#define-dマクロを含む
ファイルがあります。global.h
これらのマクロを使用するコードでは、マクロが保持する値が十分にジェネリックではないことがわかりました。マクロを再定義して、より一般的なものにしたいと思います。これを行うために、次のコードスニペットを作成しました。
std::cout << endl << "Enter pitch threshold:" << endl;
std::cin >> pitchT;
#ifdef PitchThreshold
#undef PitchThreshold
#define PitchThreshold pitchT
#endif
私の質問は次のとおりです
。この方法で#undefを使用すると、すべてのソースファイルでマクロが再定義されますか、それとも上記のコード行が記述されている関数に対してローカルですか?#undefおよび#define演算子の範囲は何ですか?
すべてのソースファイルでマクロ定義が確実に変更されるようにするには、(#define-d自体であるファイル内のマクロを変更する以外に)何ができますか?
ありがとう、
スリラム