1、typeid
在Python中有一个很好用的函数type()
,在不确定类型的时候,可以直接输出类型
在CPP中,发现也有一样的用法,typeid().name()
#include <iostream>
#include <typeinfo> //想使用typeid需包含这个头文件,但是实际不包含也可以,估计是gcc的缘故
int main()
{
int a;
std::cout << typeid(a).name() << std::endl;
return 0;
}
输出:
i
与python不同的是,这个只输出了一个字符,查找原因后发现是因为gcc的缘故,要想显示全可以使用abi
#include <iostream>
#include <typeinfo>
#include <cxxabi.h> //使用abi
int main()
{
int a;
std::cout << typeid(a).name() << std::endl;
std::cout << abi::__cxa_demangle(typeid(a).name(),0,0,0) << std::endl;
return 0;
}
输出:
i
int
参考链接: