C++でのtypeidの使い方は何ですか?

C++において、typeidは実際の型を取得するための型識別演算子です。

typeid演算子は式を引数として受け取り、std::type_infoオブジェクトを返します。このオブジェクトは、式が表す型に関する情報を含んでいます。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;
}

結果は次の通りになります:

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

注目すべき点は、typeid演算子によって返されるstd::type_infoオブジェクトのname()関数が、型の名前を表す文字列を返すことです。具体的な形式や内容は、コンパイラによって異なる可能性があります。したがって、型名はデバッグのための情報として扱われるべきであり、プログラムロジックの一部として使用すべきではありません。

bannerAds