C++/Typeinfo
外观
< C++
<typeinfo> 是b:C++標準程式庫中的一個b:头文件,定义了b:C++标准中用于运算符b:typeid
返回结果类型及抛出的异常类型。[參 1]
类
[编辑]- type_info:包含着一个类型的信息。可以通过成员函数
name()
来获知其名字字符串。是运算符b:typeid
返回结果类型。 - bad_typeid:异常类型。当typeid表达式的实参为null时抛出该异常。
- bad_cast:异常类型。当一个无效的dynamic_cast表达式执行时抛出该异常。
使用示例
[编辑]#include <iostream>
#include <typeinfo>
struct Base { virtual ~Base() = default; };
struct Derived : Base {};
int main() {
Base b1;
Derived d1;
const Base *pb = &b1;
std::cout << typeid(*pb).name() << '\n';
pb = &d1;
std::cout << typeid(*pb).name() << '\n';
}
参考文献
[编辑]页面Template:ReflistH/styles.css没有内容。