c++求变量或者常量的类型记录(目的是为了实现编译器中的类型转换)

1.头文件

#include <typeinfo>

2.方法返回值  typeid是一个关键字

引用typeid(变量名).name()方法会返回type_info里面定义的所有变量类名(依赖于具体编译器),返回值是一个const char* 类型的指针

3.typeid(变量名).name()方法的使用和Devc++使用的gcc编译器返回的变量类型名

#include <typeinfo>
#include <iostream>
using namespace std;
int main()
{
    short a1;
    int a2;
    long a3;
    char a4;
    float a5;
    double a6;
    string a7;
    
    short b1[2];
    int b2[2];
    long b3[2];
    char b4[2];
    float b5[2];
    double b6[2];
    string b7[2];
    
    cout<<typeid(a1).name()<<endl;
    cout<<typeid(a2).name()<<endl;
    cout<<typeid(a3).name()<<endl;
    cout<<typeid(a4).name()<<endl;
    cout<<typeid(a5).name()<<endl;
    cout<<typeid(a6).name()<<endl;
    cout<<typeid(a7).name()<<endl;
    cout<<typeid(b1).name()<<endl;
    cout<<typeid(b2).name()<<endl;
    cout<<typeid(b3).name()<<endl;
    cout<<typeid(b4).name()<<endl;
    cout<<typeid(b5).name()<<endl;
    cout<<typeid(b6).name()<<endl;
    cout<<typeid(b7).name()<<endl;
    return 0;
}

结果截图,大家使用时候可以直接用类型名字

原文地址:https://www.cnblogs.com/nanfengnan/p/15791334.html