久久久久久久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 入門)
主站蜘蛛池模板: 久久成人一区 | 波多野结衣一二三区 | 二区在线视频 | 久久亚洲欧美日韩精品专区 | 国产又色又爽又黄又免费 | 成人高清网站 | 正在播放亚洲 | 99精品欧美一区二区蜜桃免费 | 国内自拍偷拍视频 | 黄色片免费在线观看 | 人人射人人插 | 欧美在线成人影院 | 一区二区三区国产好 | 色婷婷精品久久二区二区蜜臂av | 日韩高清不卡 | 日韩欧美在线视频 | 久久久久国产一区二区三区四区 | 凹凸日日摸日日碰夜夜 | 中文字幕第二十页 | 天天操夜夜操 | 久久看看 | 亚洲狠狠丁香婷婷综合久久久 | 国产91av视频在线观看 | 亚洲一区二区三区在线播放 | 国产一级电影在线观看 | 一区二区三区四区国产精品 | 午夜爽爽男女免费观看hd | 欧美日韩综合一区 | 精品国产一区二区三区久久狼黑人 | 成人午夜影院 | 欧美一区二区视频 | www.jizzjizz| 日韩精品视频一区二区三区 | 国产在线色 | 欧美在线一二三 | 在线观看免费av网 | 午夜精品久久久久久 | a在线视频 | 一区二区三区欧美 | 色网在线播放 | 久久久夜色精品亚洲 |