c++ typeid的用法是什么

c++
小億
100
2024-02-01 16:39:31

在C++中,typeid是一個(gè)類(lèi)型識(shí)別操作符,用于獲取一個(gè)表達(dá)式的實(shí)際類(lèi)型。

typeid操作符可以接受一個(gè)表達(dá)式作為參數(shù),返回一個(gè)std::type_info對(duì)象,該對(duì)象包含有關(guān)表達(dá)式所代表的類(lèi)型的信息。要使用typeid操作符,需要包含頭文件。

例如,下面的代碼演示了如何使用typeid操作符:

#include <iostream>
#include <typeinfo>

int main() {
    int i = 5;
    double d = 3.14;
    
    const std::type_info& iType = typeid(i);
    const std::type_info& dType = typeid(d);
    
    std::cout << "i is of type: " << iType.name() << std::endl;
    std::cout << "d is of type: " << dType.name() << std::endl;
    
    return 0;
}

輸出結(jié)果將會(huì)是:

i is of type: int
d is of type: double

需要注意的是,typeid操作符返回的std::type_info對(duì)象的name()函數(shù)返回的是一個(gè)表示類(lèi)型名稱(chēng)的字符串,具體的格式和內(nèi)容可能會(huì)因編譯器而異。因此,類(lèi)型名稱(chēng)應(yīng)該被視為一個(gè)用于調(diào)試目的的信息,而不應(yīng)該被當(dāng)作程序邏輯的一部分來(lái)使用。

0