标准库头文件 <typeinfo>

< cpp‎ | header
 
 
 

此头文件是类型支持库的一部分。

含有某个类型的信息,由实现生成。
这是 typeid 运算符所返回的类。
(类)
typeid 表达式中的实参为空值时抛出的异常
(类)
由非法的 dynamic_cast 表达式抛出的异常,即引用类型转型失败
(类)

概要

namespace std {
  class type_info;
  class bad_cast;
  class bad_typeid;
}

std::type_info

namespace std {
  class type_info {
  public:
    virtual ~type_info();
    bool operator==(const type_info& rhs) const noexcept;
    bool before(const type_info& rhs) const noexcept;
    size_t hash_code() const noexcept;
    const char* name() const noexcept;
 
    type_info(const type_info&) = delete;                   // 不能复制
    type_info& operator=(const type_info&) = delete;        // 不能复制
  };
}

std::bad_cast

namespace std {
  class bad_cast : public exception {
  public:
    // 特殊成员函数的规定见 [exception]
    const char* what() const noexcept override;
  };
}

std::bad_typeid

namespace std {
  class bad_typeid : public exception {
  public:
    // 特殊成员函数的规定见 [exception]
    const char* what() const noexcept override;
  };
}