有没有办法找到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