zoukankan      html  css  js  c++  java
  • typeid操作符

    typeid操作符:它指出指针或引用指向的对象的实际派生类型。

    例如:

    employee* pe=new manager;
    typeid(*pe)==typeid(manager) //true

      typeid可以用于作用于各种类型名,对象和内置基本数据类型的实例、指针或者引用,当作用于指针和引用将返回它实际指向对象的类型信息,甚至可用于函数名,真是太强大了。typeid的返回是type_info类型。

      type_info类:这个类的确切定义是与编译器实现相关的,下面是MSDN中给出的定义

    class type_info {
    public:
      virtual ~type_info();
      int operator==(const type_info& rhs) const;
      int operator!=(const type_info& rhs) const;
      int before(const type_info& rhs) const;
      const char* name() const;
      const char* raw_name() const;
    private:
      ...
    };

    可以用
    cout << "int id: " << typeid(int).name() << endl;
    cout << "int raw id: " << typeid(int).raw_name() << endl;
    cout << "main id: " << typeid(main).name() << endl;
    cout << "main raw id: " << typeid(main).raw_name() << endl;
    看看有什么输出
  • 相关阅读:
    Spring cloud学习总结
    Spring boot学习笔记
    Rabbitmq安装步骤
    Mongodb 笔记采坑
    Rabbit Docker 部署及采坑
    各种知识汇总
    Echart 随便写的
    Linux常用命令
    Redis学习笔记
    Docker使用总结
  • 原文地址:https://www.cnblogs.com/youyou/p/279992.html
Copyright © 2011-2022 走看看