#include <iostream>
#include <typeinfo>
using namespace std;
int main()
{
int a;
float b;
cout<<"a的类型是"<<typeid(a).name()<<endl;
cout<<"b的类型是"<<typeid(b).name()<<endl;
a=4.2;
b=42L;
cout<<"赋值后a的类型是"<<typeid(a).name()<<endl;
cout<<"赋值后b的类型是"<<typeid(b).name()<<endl;
cout<<"4.2的类型是"<<typeid(4.2).name()<<endl;
cout<<"42L的类型是"<<typeid(42L).name()<<endl;
return 0;
}
VC++运行结果:
a的类型是int
b的类型是float
赋值后a的类型是int
赋值后b的类型是float
4.2的类型是double
42L的类型是long
可见赋值后的变量a、b的数据类型依旧,但是常量4.2和42L本身是分别以double和long型存储的。