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()関数が、型の名前を表す文字列を返すことです。具体的な形式や内容は、コンパイラによって異なる可能性があります。したがって、型名はデバッグのための情報として扱われるべきであり、プログラムロジックの一部として使用すべきではありません。