标准库头文件 <typeinfo>

来自cppreference.com
< cpp‎ | header
 
 
 

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

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

概要

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

std::type_info

class type_info {
public:
  virtual ~type_info();
  bool operator==(const type_info& rhs) const noexcept;
  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& rhs) = delete; // 不能复制
  type_info& operator=(const type_info& rhs) = delete; // 不能复制
};

std::bad_cast

class bad_cast : public exception {
public:
  bad_cast() noexcept;
  bad_cast(const bad_cast&) noexcept;
  bad_cast& operator=(const bad_cast&) noexcept;
  const char* what() const noexcept override;
};

std::bad_typeid

class bad_typeid : public exception {
public:
  bad_typeid() noexcept;
  bad_typeid(const bad_typeid&) noexcept;
  bad_typeid& operator=(const bad_typeid&) noexcept;
  const char* what() const noexcept override;
};