久久久久久久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 入門)
主站蜘蛛池模板: 国产成人av在线 | 欧美日韩视频在线播放 | 欧美亚洲成人网 | 精品久久久久久亚洲精品 | 99久热| 国产成人久久精品一区二区三区 | 久久精品视频91 | 日韩欧美在线不卡 | 亚洲三级av | 91免费电影 | 国产传媒在线观看 | 三级av网址 | 麻豆久久久9性大片 | 国产伦精品一区二区三区精品视频 | 国产乱码久久久 | 91麻豆精品国产91久久久久久 | 日韩精品区 | 日本韩国欧美在线观看 | 国产精品视频一区二区三 | 奇米超碰| 久久69精品久久久久久国产越南 | 亚洲午夜视频在线观看 | 久久国产精品一区二区三区 | 成人国产免费视频 | 国产真实精品久久二三区 | www.天天干.com| 国产在线拍偷自揄拍视频 | 爱综合| 亚洲精品68久久久一区 | 亚洲一区av| 看毛片的网站 | 亚洲精彩免费视频 | 国产精品久久毛片av大全日韩 | 国产免费又色又爽又黄在线观看 | 欧美成人a| 91热在线| 中文字幕一区二区三区四区 | 成人免费在线观看视频 | 午夜在线免费观看视频 | 日韩成人久久 | 国产精品久久久久久 |