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沒有內容。