C++ 语法学习

1.  type_info

    C++的多态是面向对象编程的精髓之一, 但是在实际使用和调试中,很难知道一个指针绑定了哪个子类的对象,这被称为RTTI(运行时类型识别)。常常是读着读着代码,读到了一个 p->func() 就不知道到底在哪里实现的了。这时候type_info 和 typeid就派上用场了,它可以知道指针具体指向的类型,注意这只在多态的时候有用,也就是说基类没有虚函数这个方法会失效。

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

type_info有下列方法:

name(),返回类型的名字
hash_code(),返回这个类型的哈希值(具有唯一性)
before(),可以判断一个type_info对象的顺序是否在另一个之前(实现相关,同一个程序多次调用都可能不一样,不太理解有什么实际作用)
==和!=操作符,判断两个type_info相等或不等

typeid操作符

typeid操作符在<typeinfo>中声明,用来在运行时获取类型、变量、表达式的类型信息,适用于C++基础类型、内置类、用户自定义类、模板类等。

它有两种形式:

  • typeid( 类型 )
  • typeid(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值