c++——获取类型信息

c++获取类型信息

#include<iostream>
#include<typeinfo>
using namespace std;

class Base{};
struct STU{};

//void print(string name,string raw_name,string hash_code){
//	cout<
//}

int main(){
	//获取各种类型信息
	int n= 10;
	const type_info &nInfo = typeid(n);
	cout<<nInfo.name()<<" | "<<nInfo.raw_name()<<" | "<<nInfo.hash_code()<<endl;

	const type_info &dInfo = typeid(25.65);
	cout<<dInfo.name()<<" | "<<dInfo.raw_name()<<" | "<<dInfo.hash_code()<<endl;

	Base obj;
	const type_info &objInfo = typeid(obj);
	cout<<objInfo.name()<<" | "<<objInfo.raw_name()<<" | "<<objInfo.hash_code()<<endl;

	const type_info &baseInfo = typeid(Base);
	cout<<baseInfo.name()<<" | "<<baseInfo.raw_name()<<" | "<<baseInfo.hash_code()<<endl;

	const type_info &stuInfo = typeid(struct STU);
	cout<<stuInfo.name()<<" | "<<stuInfo.raw_name()<<" | "<<stuInfo.hash_code()<<endl;

	const type_info &charInfo = typeid(char);
	cout<<charInfo.name()<<" | "<<charInfo.raw_name()<<" | "<<charInfo.hash_code()<<endl;

	const type_info &expInfo = typeid(20*45/45);
	cout<<expInfo.name()<<" | "<<expInfo.raw_name()<<" | "<<expInfo.hash_code()<<endl;

	system("pause");
	return 0;
}

运行结果如下:
c++——获取类型信息_第1张图片

你可能感兴趣的:(c++)