有沒有辦法找到C++中enum的最大和最小定義值?C++枚舉中的最大值和最小值
回答
不,沒有辦法找到C++中任何枚舉的最大和最小定義值。當需要這種信息時,定義Last和First值通常是一種好的做法。例如,
enum MyPretendEnum
{
Apples,
Oranges,
Pears,
Bananas,
First = Apples,
Last = Bananas
};
有不需要爲First
和Last
之間的每一個值將被命名值。
對非序列枚舉仍然有用 - 只要你不期望每個值都存在 – 2012-01-11 06:50:49
@Adrian:是的,這是事實。你不需要每個值都有一個定義的名稱,這種技術是有用的。我將相應地編輯 – 2012-01-11 20:22:24
不,不是標準的C++。您可以手動執行此操作:
enum Name
{
val0,
val1,
val2,
num_values
};
num_values
將包含enum中值的數量。
num_values將包含數值-1的值 – 4pie0 2014-03-19 15:21:38
不是。C或C++中的枚舉只是一個常量列表。沒有更高的結構可以保存這些信息。
通常當我需要這種信息我在枚舉包括最大值和最小值是這樣的:
enum {
eAaa = 1,
eBbb,
eCccc,
eMin = eAaaa,
eMax = eCccc
}
有關如何這會很有用一些例子顯示這個網頁:Stupid Enum Tricks
enum My_enum
{
FIRST_VALUE = 0,
MY_VALUE1,
MY_VALUE2,
...
MY_VALUEN,
LAST_VALUE
};
定義後,My_enum :: LAST_VALUE == N + 1
你甚至都不需要他們,我做的是我剛纔說的,例如,如果您有:
enum Name{val0,val1,val2};
,如果你有switch語句和檢查的最後一個值達到做如下所示:
if(selectedOption>=val0 && selectedOption<=val2){
//code
}
- 1. 枚舉值的最小值和最大值操作
- 2. 計算最小值和最大值C#
- 3. 重置最大值和最小值C#
- 4. 最小值和最大值C++
- 5. 最大值和最小值?
- 6. 中的std ::最大值和最小值
- 7. 找出最大值在枚舉
- 8. Python的最大值和最小值
- 9. 數組的最小值和最大值?
- 10. 數組的最大值和最小值
- 11. C++的平均值,最大值和最小值分配
- 12. C中數據類型的最小值和最大值
- 13. C#中積分類型的最小值和最大值#
- 14. SmallDateTime C#中的最小值和最大值#
- 15. Python中大NumPy數組的最小值,最大值和均值
- 16. PostgreSQL,Groupwise最小值和最大值
- 17. 獲取最小值和最大值
- 18. 查找最小值和最大值JAVA
- 19. 計算平均值最大值和最小值C++
- 20. C#從列表中獲取最小值和最大值
- 21. 陣列計算最小值,最大值和平均值輸出:最小值,最大值和平均值
- 22. C++中數組的最大值,最小值,平均值函數
- 23. 給定均衡的BST。最小值,最大值和最大值,如何找到最小值和最大值內最大的異或值?
- 24. 問題在C數組的最小值和最大值
- 25. c#圖表更改x軸上的最大值和最小值
- 26. 查找最大,最小和中間值
- 27. 在Java中查找num值和最小值/最大值值
- 28. SQL查詢 - 查找日常最小值,最大值和時間的最小值和最大值發生
- 29. Python:用於獲取最大值和最小值而不使用最大值和最小值函數的程序
- 30. 計算SQL中的最大值,最小值和平均值
它可以幫助人們回答更好,如果你描述你爲什麼想知道的最大值和最小值枚舉的值。 – JaredPar 2008-10-01 18:44:24