#include<iostream>
#include<typeinfo>//需要添加的头文件
using namespace std;
void main()
{
//typeid().name()可以返回变量、函数、类的数据类型名,功能是相当强大的
//注意:对非引用类型,typeid().name()是在编译时期识别的,只有引用类型才会在运行时识别
const int a = 10;
cout << typeid(&a).name() << endl;//const int *
cout << typeid(typeid(a).name()).name() << endl;
//结果为char const *,因此typeid().name()返回了存储类型名的字符串。
//能否使用typeid().name()返回值作为类型名进行定义
//typeid(a).name() b;//error!。这个想法其实很不错,我们在写代码的时候很可能需要设很多中间变量,如果不是自己写的代码,确定变量类型是很麻烦的。
//来解答下这个问题。用typeid().name()定义肯定是不行的,通过上面的返回结果就可以解释。返回的结果是cosnt char *,是一个地址。
}
用typeid().name()获取类型名
最新推荐文章于 2024-09-03 23:22:59 发布