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