在宏内部,我可以使用字符串化运算符#
:
#define STRINGIZE(name) #name
cout << STRINGIZE(SomeClass) << endl; // Prints "SomeClass"
是否可以在宏内执行相反的操作 unstringize ?怎么样?
例如:
#define RUN_FUNCTION(name) UNSTRINGIZE(name)();
void myFunction {
cout << "Hello!" << endl;
}
RUN_FUNCTION("myFunction") // Prints "Hello!"
如果没有,是否有原因?