C++-有没有一种方法可以将标识符作为字符串

C++ - Is there a way to get an identifier as a string?

本文关键字:标识符 字符串 方法 有没有 一种 C++-      更新时间:2023-10-16

有没有办法将类的函数或对象的标识符作为字符串
类似:

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"
}

您有用于宏的字符串化运算符:

#define getName(a) #a

将把它作为参数得到的任何东西变成一个带引号的字符串

getName(something) turns into "something"