本文主要是介绍用typeid().name()获取类型名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#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()获取类型名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!