C++11 | 运行时类型识别(RTTI)

本文介绍了C++11中的运行时类型识别(RTTI),包括type_info类的使用,如获取类型名字和哈希值;typeid操作符的应用,用于获取类型或表达式的类型信息;以及type_index类的功能,它作为关联容器的索引,方便在调试时输出类型信息。

C++11里的RTTI更好用了,参见这里:http://en.cppreference.com/w/cpp/types。与RTTI相关的有几个类和方法:

  • type_info类
  • typeid操作符
  • type_index类

type_info

type_info类在头文件<typeinfo>中定义,代表了一个C++类型的相关信息。一般由typeid操作符返回,不能自己构造。

type_info是实现相关的,不同编译工具链的实现可能不一致。

下面的代码可以打印出int类型的名字:

    const std::type_info &tiInt = typeid(int);
    std::cout << "tiInt.name = " << tiInt.name() << std::endl;

type_info有下列方法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

foruok

你可以选择打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值