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;
    看看有什么输出
  • 相关阅读:
    修改图片大小 分辨率
    Tools
    写log
    4Sum
    3Sum Closest
    避免调试时加载符号
    SDN期末作业——负载均衡
    SDN第五次上机作业
    个人作业——软件工程实践总结作业
    SDN第四次作业
  • 原文地址:https://www.cnblogs.com/youyou/p/279992.html
Copyright © 2011-2022 走看看