gpt4 book ai didi

c++ - 获取枚举的最高值

转载 作者:太空狗 更新时间:2023-10-29 21:43:13 25 4
gpt4 key购买 nike

<分区>

我的 C++ 代码使用位集来存储在我的数据结构中找到的枚举的哪些值(它实际上有点复杂,但这对问题来说无关紧要)。

这意味着当我有一个像这样的枚举时:

enum Color
{
RED
, GREEN
, BLUE
};

我想这样定义我的位集:

std::bitset<3>

当然我不想硬编码值 3。

在某些情况下,我可以简单地向枚举添加一个“终止符”,如下所示:

enum Color
{
RED
, GREEN
, BLUE
, _COLOR_TERMINATOR
};

我可以这样写:

std::bitset<_COLOR_TERMINATOR>

但我不能在所有枚举中都这样做。如果我对我的某些枚举执行此操作,代码检查器(如 Lint)会提示并非所有枚举值都用于 switch 语句。

有没有办法在不改变枚举本身的情况下获得枚举中的最大值?例如。类似 std::max<Color> 的东西?

使用 Visual Studio 2013 和 C++。

谢谢。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com