有没有办法将类的函数或对象的标识符作为字符串获取?
像:
void SomeFunc() {}
int main()
{
SomeClass classObject(1, 2, 3);
std::cout << getName(classObject) << std::endl;
// Will print "classObject"
SomeClass name;
std::cout << getName(name) << std::endl;
// Will print "name"
std::cout << getName(SomeFunc) << std::endl;
// Will print "SomeFunc"
}
答案 0 :(得分:4)
你有宏的字符串化运算符:
#define getName(a) #a
会将它获取的任何内容作为参数转换为带引号的字符串
getName(something) turns into "something"