用typeid().name()获取类型名

来源:互联网 发布:2016浙江省数据库三级 编辑:程序博客网 时间:2024/06/06 12:33
#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 *,是一个地址。}

原创粉丝点击