取枚举的参数c语言,求解:如何获得enum类型中枚举值的数量

这篇博客讨论了如何在C++中获取枚举类型(enum)的枚举值数量。用户codejie提出了这个需求,并收到了多个社区成员的回复。建议包括使用sizeof操作符、定义一个最大枚举值T_MAX或者通过循环判断来获取枚举值的个数。尽管没有直接的内置方法,但社区成员提供了各种创新的解决方案。
摘要由CSDN通过智能技术生成

评论

# re: 求解:如何获得enum类型中枚举值的数量

2009-11-11 20:43

OwnWaterloo

# re: 求解:如何获得enum类型中枚举值的数量[未登录]

2009-11-12 01:47

Liu

搞不懂你咋有这么变态的需求。

sizeof(T)当然是4,就是一个Integer么

编译过程中,这些应该直接当作了常量处理吧?所以你上哪里知道有多少常量呢  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2009-11-12 09:46

codejie

@OwnWaterloo

悲剧~  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2009-11-12 09:47

codejie

@Liu

嗯,我需求就是要知道‘有多少常量’,不是很变态吧。。。。

另:

为了C,我又买了三本书:C语言,C专家,C陷阱。你看我够勤奋吧~  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2009-11-12 10:09

溪流

enum T

{

T1 = 0,

T2,

// ...

Tn,

T_MAX

};

读 T_MAX 确定个数  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2009-11-12 10:28

codejie

@溪流

嗯,我就是不想定义个T_MAX。。。。嘿嘿。。。  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2009-11-12 20:11

溪流

@codejie

那,木有了  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量[未登录]

2009-11-12 20:19

codejie

@溪流

杯具啊~  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量[未登录]

2009-11-13 03:34

Liu

@codejie

有时候我觉得,你是不是勤奋的过头了……  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2009-11-13 10:05

codejie

@Liu

哎呀,不想平常的你啊。。。我以为你会说我--吃了空。。。  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2010-05-22 23:27

Freeway

This works in C#:

enum ae

{

aa,

bb

}

public static void enumTest()

{

var el = Enum.GetNames(typeof(ae)).ToList();

el.ForEach(e => Console.WriteLine(e));

}

Hope this could help in CPP.  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2010-05-24 12:33

codejie

@Freeway

CPP这样应该不行,没有对应的函数。。。

(CPPBLOG.COM应该rollback过了,我前面的回复没有了。。。)  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2013-02-27 15:33

cnbt

得到一个总数循环判断,,,  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量[未登录]

2013-02-27 20:14

codejie

@cnbt

有了总数,还循环个毛毛啊...  回复  更多评论

# re: 求解:如何获得enum类型中枚举值的数量

2013-03-01 00:14

溪流

@codejie

哈哈:)  回复  更多评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值