实现C++ 枚举反射机制

上一阶段写了一些功能需要枚举反射机制,但是C++不支持,很无奈。最近又遇到这个问题,所以自己实现了一版,

自己的版本 枚举定义是 宏定义,其他的都是一些解析

代码如下:

第一次贴代码,也不太会

//enum_map.h头文件

</pre><p><pre name="code" class="cpp">//实现 枚举反射机制	
/***************************************************************
* example:
* -----main.cpp
*
* #include "enum_map.h"
* //定义枚举:
* enum_define( _myEnum,		//枚举名称
*
*				_A_1dddd3		=	1000,	//枚举值
*				_A_1dddd32	,
*				_A_1dddd34		=	11000,
*				_A_1dddd35		=	1200,
*				__sdfsdf_AD_4	=	0xAdef12,
*				_Asdfsdfdd		=	01232
*			  )
*
*	//std::string toStringByEnumValue(enum_name,enum_value_int);
*	//此函数返回枚举string类型
*	//@enum_name		输入枚举名称 必须用上面定义类型定义
*	//@enum_value_int	输入枚举字段实际int值
*	//return			string枚举字段名称
*
* //调用
* int main()
* {
*	printf("%s\n", toStringByEnumValue(_myEnum, 1300l).c_str());
*	printf(&#
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值