【发布时间】:2013-05-24 08:49:02
【问题描述】:
我有一个关于枚举的问题:当我创建一个枚举时,最新的值是否总是高于枚举的第一个值?
也许举个例子有助于理解我的意思:
-
假设我正在开发一款 RPG 游戏,其中有武器。每种武器都有一个类型:
typedef enum { WoodenSword, IronSword, SteelSword, GoldenSword }WeaponType;
现在我想检查武器之间的力量差异(假设木剑是最弱的武器,金剑是最强的武器)。是否可以通过简单的方式检查武器的威力:
WeaponType type = GoldenSword;
if(type > WoodenSword)
{
//Do something
}
换句话说,我不希望这样,但枚举值是否可能是这样的(如果你不强制该值):
typedef enum
{
WoodenSword, //-> equals 40
IronSword, //-> equals 0
SteelSword, //-> equals 42
GoldenSword //-> equals 5
}WeaponType;
或者默认是这样的:
typedef enum
{
WoodenSword, //-> equals 0
IronSword, //-> equals 1
SteelSword, //-> equals 2
GoldenSword //-> equals 3
}WeaponType;
希望足够清楚。如果我不够精确,请随时告诉我。
谢谢。
【问题讨论】:
标签: objective-c c enums enumeration