如何确定枚举中的成员数?

时间:2013-09-18 03:04:43

标签: c++ c++11

使用C ++ 11; MingW平台; Ubuntu 12.04 LTS:

假设:

    enum TMyEnum
    {
        Enum_1, Enum_3, Enum_3
    };

什么函数会告诉我TMyEnum中有多少成员,在这种情况下是3?

2 个答案:

答案 0 :(得分:4)

一个技巧是在最后提供一个计数项目,例如:

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

答案 1 :(得分:0)

如果您要将其与默认值一起使用,您可以使用以下内容:

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