在宏中,我可以使用字符串化操作符#
:
#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!"
如果没有,有什么原因吗?