最简单当然是用typeid了、不过首先得加入头文件typeinfo
例如想知道某个数据的类型、则使用name方法
#include <typeinfo> using namespace std;
int main()
{
int iobj; cout << typeid( iobj ).name() << endl; // 打印: int cout << typeid( 8.16 ).name() << endl; // 打印: double
return 0;
}
如果只是想比较两者的类型是否相同、大可不必name方法
#include <type_info> using namespace std; int main() { employee *pe = new manager; employee& re = *pe; if ( typeid( pe ) == typeid( employee* ) ) // true // do something return 0;
}