typeid是用来获取变量的类型信息的操作符。在C++中,typeid操作符返回一个type_info对象,该对象包含有关变量的类型信息。可以使用typeid操作符来检查两个对象是否是相同类型,或者获取对象的实际类型。
示例用法如下:
#include <iostream>
#include <typeinfo>
int main() {
int a = 5;
double b = 3.14;
if (typeid(a) == typeid(int)) {
std::cout << "a is an integer" << std::endl;
}
if (typeid(b) != typeid(int)) {
std::cout << "b is not an integer" << std::endl;
}
std::cout << "Type of a: " << typeid(a).name() << std::endl;
std::cout << "Type of b: " << typeid(b).name() << std::endl;
return 0;
}
在上面的例子中,我们使用了typeid操作符来检查变量a和b的类型,并输出相应的信息。需要注意的是,typeid操作符返回的type_info对象可能包含有关具体类型的信息,通常使用name()方法来获取自身的名称。