上一阶段写了一些功能需要枚举反射机制,但是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(&#