跳至內容

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

V