マクロ自体の情報を使ってC++ #defineマクロを再定義することはできますか?私は以下のコードを試しましたが、マクロが評価される方法のため、出力は私が期待したものではありませんでした。マクロ自体の情報を使ってC++ #defineマクロを再定義するには?
#include <iostream>
#define FINAL_DEFINE "ABC"
#define NEW_DEFINE FINAL_DEFINE "DEF" // Want ABCDEF
#undef FINAL_DEFINE
#define FINAL_DEFINE NEW_DEFINE // Want ABCDEF, but get empty?
int main()
{
std::cout << FINAL_DEFINE << std::endl; // Want ABCDEF, but doesn't compile.
}
私は質問をより明確に更新しました。まだあいまいかどうか私に教えてください。 – Jeff
基本的には:Chris Doddの答えが説明しているとおり、不可能です。回避策として、中間定義(最初の2行のFINAL_DEFINE)に別の名前を使用する必要があります。 –