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没有内容。