【发布时间】:2011-12-12 21:05:15
【问题描述】:
假设我有一个枚举:
typedef enum MyEnum_
{
MY_ENUM_BLUE,
MY_ENUM_RED,
MY_ENUM_GREEN
} MyEnum;
而且我有一个获取“MyEnum”作为参数的方法。我想将 MyEnum 的值写入日志文件,但我不希望 0、1 或 2 出现在那里---我想输出实际的枚举字符串“MY_ENUM_xxxx”,当然 没有 switch/case 块.....并单独处理每个值。
是否有一些技巧或模式,在 c++ 中或使用宏可以帮助我实现这一目标?
【问题讨论】:
-
我相信这些是编译器常量,而不是编译到代码中,不像 Java 和 C# 有类型的元数据。
-
我知道,这就是为什么我还询问是否有围绕此的技巧宏方法,这将减轻每个案例对冗长 switch/case 块的需要......
标签: c++