当前位置:  开发笔记 > 编程语言 > 正文

C++枚举中的最大值和最小值

如何解决《C++枚举中的最大值和最小值》经验,为你挑选了3个好方法。

有没有办法在c ++中找到枚举的最大和最小定义值?



1> Jeff Yates..:

不,没有办法在C++中找到任何枚举的最大和最小定义值.当需要这种信息时,定义Last和First值通常是一种好习惯.例如,

enum MyPretendEnum
{
   Apples,
   Oranges,
   Pears,
   Bananas,
   First = Apples,
   Last = Bananas
};

不需要为First和之间的每个值命名值Last.


对于非顺序枚举仍然有用 - 只要你不希望每个值都存在

2> dalle..:

不,不是标准的C++.你可以手动完成:

enum Name
{
   val0,
   val1,
   val2,
   num_values
};

num_values 将包含枚举中的值的数量.


@lizusek:`num_values`将包含枚举中的值的数量,除了`num_values`本身.
@dalie是的,这就是为什么它会是:价值数 - 1.当然我知道你说的是价值观,这意味着扣除值最后一个是不是一个真正的价值,而是一个帮手.不过我建议让它更清晰.

3> Justsalt..:

不可以.C或C++中的枚举只是一个常量列表.没有更高的结构可以保存这些信息.

通常当我需要这种信息时,我在枚举中包含这样的最大值和最小值:

enum {
  eAaa = 1,
  eBbb,
  eCccc,
  eMin = eAaaa,
  eMax = eCccc
}

有关如何使用它的一些示例,请参阅此网页:Stupid Enum Tricks

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有