xueweizhong 2005年04月22日
如何求枚举类型定义中枚举值的个数?
比如
enum aaa {A, B, C};
enum a { D};

求算法enum_size使:

aaa |--> 3
a |--> 1

要求不能修改枚举类型的定义,不能给枚举类型的定义加上特殊限制,比如:
而且对任何枚举类型都有效的方式。

一般情况下enum_size是一个模板类:
template <typename Enum_type>
struct enum_size
{
enum { value = .... }
};

或者其他实现方式。
比如
template <typename E>
size_t enum_size(E e)
{
}

虽然写成函数形式,但只依赖于类型不同才会返回不同的值。

已有的感觉好像是不太可能。
不过还是来征求一下大家的意见。
...全文
743 点赞 收藏 32
写回复
32 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告