📅  最后修改于: 2023-12-03 14:39:56.075000             🧑  作者: Mango
在C++中,要获取对象的类型名称,可以使用type_info
类并调用其name()
函数。type_info
类是C++标准库<typeinfo>
中定义的,在编译时获取类型信息非常有用。
下面是示例代码,展示了如何获取对象的类型名称:
#include <iostream>
#include <typeinfo>
class A {};
int main() {
A obj;
const std::type_info& type = typeid(obj);
std::cout << "Object type: " << type.name() << std::endl;
return 0;
}
以上代码创建了一个名为A
的类,并在main()
函数中创建了一个A
类的对象obj
。接下来,我们使用typeid
运算符和type_info
类的引用来获取obj
对象的类型信息。最后,使用name()
函数打印出类型名称。
请注意,type_info
类的name()
函数返回的类型名称可能会因编译器而异。返回的名称可能是由编译器实现定义的特定字符串,而不是我们所期望的可读性强的类型名称。因此,应该谨慎依赖这个字符串。
以上示例输出结果可能为:
Object type: 1A
如上所述,返回的类型名称可能不是很有意义。如果你需要更好的类型信息,可以考虑使用其他的方法,如使用运行时多态性(即虚函数)等。
希望这能帮助到你!