マクロ内で、stringizing operator を使用できます#
。
#define STRINGIZE(name) #name
cout << STRINGIZE(SomeClass) << endl; // Prints "SomeClass"
逆に、マクロ内で文字列を解除することは可能ですか? どのように?
例えば:
#define RUN_FUNCTION(name) UNSTRINGIZE(name)();
void myFunction {
cout << "Hello!" << endl;
}
RUN_FUNCTION("myFunction") // Prints "Hello!"
そうでない場合、理由はありますか?