簡體   English   中英

使用C / C ++中的枚舉

[英]Working with enums in C/C++

我正在努力調整此處顯示的代碼,但是,我想創建一個可能值的枚舉,而不是使用單個值。

如果可能的話,我想將它保留在頭文件中,我希望它包含類似於......的值。

enum Notes{
    NOTE_B0 = 31,
    NOTE_C1 = 33,
    NOTE_CS1 = 35
};

現在我希望迭代枚舉值,我該怎么做?

我還可以存儲超過255的值嗎?

你能做的最好的事情是在某處創建一個包含所有枚舉值的靜態const數組,然后迭代它。 如果枚舉值都是連續的,你很明顯可以很容易地遍歷它們,但如果你運氣不好。

您可以存儲適合基礎整數類型的所有值。 使用C ++ 11,您可以指定基礎整數。 如果您沒有指定它,編譯器將嘗試找到所有值都適合的那個。

迭代是不可能的,因為枚舉元素只是編譯時間值。 編譯器不需要在運行時存儲它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM