說我有一個枚舉:
typedef enum MyEnum_
{
MY_ENUM_BLUE,
MY_ENUM_RED,
MY_ENUM_GREEN
} MyEnum;
而且,我有一個方法獲取「MyEnum」作爲參數。我想寫日誌文件MyEnum的值,但我不想0,1或2出現在那裏---我想輸出實際的枚舉字符串「MY_ENUM_xxxx」,當然沒有一個開關/外殼塊 .....並分別處理每個值。
是否有一些技巧或模式,在c + +或使用宏,可以幫助我實現這一點?
我相信這是編譯器常量,而不是編譯成的代碼,不像有類型的元數據Java和C#。 –
我知道,這就是爲什麼我還問了這個問題是否存在一個詭計的宏觀方法,這將減輕每個情況下冗長的開關/情況塊的需求... – JasonGenX