0

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

鉴于:

    enum TMyEnum
    {
        Enum_1, Enum_3, Enum_3
    };

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

4

2 回答 2

4

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

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

然后TMyEnum::Enum_count应该提供您的枚举集的基数。只需确保在Enum_count. 示例

#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
于 2013-09-18T03:05:53.937 回答
0

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

enum TMyEnum
    {
        Enum_1, Enum_3, Enum_3, No_of_Enums
                                //^^=3
    };
于 2013-09-18T03:06:06.510 回答