【问题标题】:How do I determine the number of the members in an enum? [duplicate]如何确定枚举中的成员数量? [复制]
【发布时间】:2013-09-18 03:04:43
【问题描述】:

使用 C++11;明文; Ubuntu 12.04 LTS:

给定:

    enum TMyEnum
    {
        Enum_1, Enum_3, Enum_3
    };

什么函数会告诉我 TMyEnum 中有多少成员,在本例中为 3?

【问题讨论】:

标签: c++ c++11


【解决方案1】:

一个技巧是在末尾提供一个计数项,例如:

enum TMyEnum
{
    Enum_1, Enum_2, Enum_3, 
    Enum_4, Another_Enum, 
    Enum_count
};

那么TMyEnum::Enum_count 应该提供您的枚举集的基数。只要确保在Enum_count 之前添加新的枚举。 Example:

#include <iostream>

enum TMyEnum
{
    Enum_1, Enum_2, Enum_3, 
    Enum_4, Another_Enum, 
    Enum_count
};

int main() {
    std::cout << TMyEnum::Enum_count << std::endl;   
}

输出

5

【讨论】:

    【解决方案2】:

    如果你打算使用默认值,你可以像下面这样:

    enum TMyEnum
        {
            Enum_1, Enum_3, Enum_3, No_of_Enums
                                    //^^=3
        };
    

    【讨论】:

      猜你喜欢
      • 2023-01-13
      • 2016-09-08
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      相关资源
      最近更新 更多