std::type_info::name
性病::类型[医]信息::姓名
const char* name() const; | | |
---|
返回包含类型名称的实现定义的以空结尾的字符串.。不提供任何保证,特别是返回的字符串对于几种类型和同一程序调用之间的更改是相同的。
参数
%280%29
返回值
包含类型名称的以空结尾的字符串。
注记
一些实现%28,如MSVC、IBM、Oracle%29生成一个人类可读的类型名称.。另一些人,尤其是gcc和clang,则返回了破损的名称。损坏的名称可以使用特定于实现的api转换为人类可读的形式,例如ABI:[医][医]CXA[医]解魔直接或通过推动::核心::解列.然后也可以通过命令行实用程序进行管道传输。c++filt -t
...
例
二次
#include <iostream>
#include <typeinfo>
struct Base { virtual ~Base() = default; };
struct Derived : Base {};
int main() {
Base b1;
Derived d1;
const Base *pb = &b1;
std::cout << typeid(*pb).name() << '\n';
pb = &d1;
std::cout << typeid(*pb).name() << '\n';
}
二次
可能的产出:
二次
4Base
7Derived
二次
另见
hash_code (C++11) | returns a value which is identical for the same types (public member function) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。