在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()函数返回的是一个表示类型名称的字符串,具体的格式和内容可能会因编译器而异。因此,类型名称应该被视为一个用于调试目的的信息,而不应该被当作程序逻辑的一部分来使用。