久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

有沒有一種簡單的方法可以將 C++ 枚舉轉換為字符

Is there a simple way to convert C++ enum to string?(有沒有一種簡單的方法可以將 C++ 枚舉轉換為字符串?)
本文介紹了有沒有一種簡單的方法可以將 C++ 枚舉轉換為字符串?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

假設我們有一些命名的枚舉:

Suppose we have some named enums:

enum MyEnum {
      FOO,
      BAR = 0x50
};

我用谷歌搜索的是一個腳本(任何語言),它掃描我項目中的所有標題并生成一個每個枚舉一個函數的標題.

What I googled for is a script (any language) that scans all the headers in my project and generates a header with one function per enum.

char* enum_to_string(MyEnum t);

還有一個類似這樣的實現:

And a implementation with something like this:

char* enum_to_string(MyEnum t){
      switch(t){
         case FOO:
            return "FOO";
         case BAR:
            return "BAR";
         default:
            return "INVALID ENUM";
      }
 }

問題在于 typedefed 枚舉和未命名的 C 風格枚舉.有人對此有所了解嗎?

The gotcha is really with typedefed enums, and unnamed C style enums. Does anybody know something for this?

該解決方案不應修改我的源代碼,生成的函數除外.枚舉位于 API 中,因此使用目前提出的解決方案不是一種選擇.

The solution should not modify my source, except for the generated functions. The enums are in an API, so using the solutions proposed until now is just not an option.

推薦答案

@hydroo: 沒有額外的文件:

@hydroo: Without the extra file:

#define SOME_ENUM(DO) 
    DO(Foo) 
    DO(Bar) 
    DO(Baz)

#define MAKE_ENUM(VAR) VAR,
enum MetaSyntacticVariable{
    SOME_ENUM(MAKE_ENUM)
};

#define MAKE_STRINGS(VAR) #VAR,
const char* const MetaSyntacticVariableNames[] = {
    SOME_ENUM(MAKE_STRINGS)
};

這篇關于有沒有一種簡單的方法可以將 C++ 枚舉轉換為字符串?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

boost_1_60_0 .zip installation in windows(Windows 中的 boost_1_60_0 .zip 安裝)
How do I get console output in C++ with a Windows program?(如何使用 Windows 程序在 C++ 中獲得控制臺輸出?)
How do I calculate the week number given a date?(如何計算給定日期的周數?)
OpenCV with Network Cameras(帶有網絡攝像機的 OpenCV)
Export all symbols when creating a DLL(創建 DLL 時導出所有符號)
Getting started with OpenCV 2.4 and MinGW on Windows 7(Windows 7 上的 OpenCV 2.4 和 MinGW 入門)
主站蜘蛛池模板: 亚洲二区视频 | 久久免费精品视频 | 狠狠干狠狠操 | 婷婷国产 | 成人福利在线观看 | 亚洲黄色片 | 成人午夜毛片 | 高清无码| yy6080午夜| 天堂99 | 欧美高清在线 | 懂色av一区二区夜夜嗨 | 秋霞午夜鲁丝一区二区老狼 | 毛片在线免费播放 | 秋霞av在线| 亚洲大片在线观看 | 国产成人精品亚洲男人的天堂 | 美利坚合众国av | 夜夜操网站 | 在线成人免费视频 | 天天操天天插 | 免费视频国产 | 亚洲理论片 | 99在线免费观看 | 国产精品成人国产乱一区 | 超碰在线99 | 人人草人人爽 | aaa级片| 在线观看国产一区 | 波多野结衣在线观看一区二区 | 日本特级黄色片 | 激情久久久 | 欧美日韩性| 国产精品视频在线观看 | 日韩在线观看中文字幕 | 日本免费在线观看视频 | 成人少妇影院yyyy | 视频爱爱免费视频爱爱太爽 | 在线观看黄色av | 成人在线a | 中文文字幕文字幕高清 |