c++——获取类型信息

c++获取类型信息
#include<iostream>
#include<typeinfo>
using namespace std;

class Base{};
struct STU{};

//void print(string name,string raw_name,string hash_code){
//	cout<<name<<" | "<<raw_name<<" | "<<hash_code<<endl;
//}

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;
}

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值