首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::type_info::name

const char* name() const;

?

?

返回包含类型名称的实现定义的以空结尾的字符串.。不提供任何保证,特别是返回的字符串对于几种类型和同一程序调用之间的更改是相同的。

参数

%280%29

返回值

包含类型名称的以空结尾的字符串。

注记

一些实现%28,如MSVC、IBM、Oracle%29生成一个人类可读的类型名称.。另一些人,尤其是gcc和clang,则返回了破损的名称。损坏的名称可以使用特定于实现的api转换为人类可读的形式,例如ABI:[医][医]CXA[医]解魔直接或通过推动::核心::解列.然后也可以通过命令行实用程序进行管道传输。c++filt -t...

二次

代码语言:javascript
复制
#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';
}

二次

可能的产出:

二次

代码语言:javascript
复制
4Base
7Derived

二次

另见

hash_code (C++11)

returns a value which is identical for the same types (public member function)

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com