yidabu 2007-4-26 15:54
16 D语言 枚举类型 Enums
16 D语言 枚举类型 Enums知识若不分享 实在没有意义 http://www.d-programming-language-china.org 20070423点击下面网址查看原文:http://www.d-programming-language-china.org by: uFramer D语言论坛 http://www.d-programming-language-china.org from: http://www.digitalmars.com/d/enum.html version: 基于D 1.013 (Apr 19, 2007) [Copy to clipboard] [ - ]CODE: 枚举类型 枚举声明: enum 标志符 枚举体 enum 枚举体 enum 标志符 : 枚举基本类型 枚举体 enum 枚举基本类型 : 枚举体 枚举基本类型: 类型 枚举体: ; { 多个枚举成员 } 多个枚举成员: 枚举成员 枚举成员 , 枚举成员 , 多个枚举成员 枚举成员: 标志符 标志符 = 赋值表达式 Enums - Enumerated Types EnumDeclaration: enum Identifier EnumBody enum EnumBody enum Identifier : EnumBaseType EnumBody enum : EnumBaseType EnumBody EnumBaseType: Type EnumBody: ; { EnumMembers } EnumMembers: EnumMember EnumMember , EnumMember , EnumMembers EnumMember: Identifier Identifier = AssignExpression 枚举用来定义一组相关的整数常量。 如果指定了 enum 标志符 ,多个枚举成员 就在 enum 标志符 的作用域内被声明。enum 标志符 声明了一个新类型。 如果不指定 enum 标志符 ,则枚举称为 匿名枚举,多个枚举成员 在 枚举声明 出现的作用域内被声明。没有新类型被创建;多个枚举成员 的类型是 枚举基本类型 。 枚举基本类型 是枚举的基本类型。它必须是整数类型。如果忽略,默认为 int。 [Copy to clipboard] [ - ]CODE: enum { A, B, C } // 匿名枚举 定义常量 A=0、B=1、C=2 : [Copy to clipboard] [ - ]CODE: const int A = 0; const int B = 1; const int C = 2; 等价于: [Copy to clipboard] [ - ]CODE: enum X { A, B, C }; // 命名枚举 这定义了新的类型 X ,拥有值 X.A=0、X.B=1、X.C=2 。 命名枚举成员可以被隐式转换为整数类型,但是整数类型不能被隐式转换为枚举类型。 枚举必须至少拥有一个成员。 如果枚举成员被赋予一个 表达式 ,则成员的值就是 表达式 的结果。表达式 必须在编译时可以被决定。后续的没有 表达式 的枚举成员的值是前一个成员加一。 [Copy to clipboard] [ - ]CODE: enum { A, B = 5+7, C, D = 8, E } 这令 A=0、B=12、C=13、D=8、E=9。Enum Properties枚举的属性 QUOTE: .init 枚举第一个成员的值 .min 枚举的最小值 .max 枚举的最大值 .sizeof 存储枚举值所需要的存储器大小 例如: X.min 是 X.A X.max 是 X.C X.sizeof 等价于 int.sizeof Initialization of Enums枚举的初始化 如果没有显式初始化,枚举变量的值被初始化为第一个枚举成员的值。 [Copy to clipboard] [ - ]CODE: enum X { A=3, B, C } X x; // x 被初始化为 3 ( lastupdate:20070426 最新文章请访问http://www.d-programming-language-china.org )关于一大步成功社区:yidabu提倡在交流中学习,在分享中提高收集感兴趣的知识,写下心得,通过网络与别人一起分享理解一点就实践一步,收获什么就分享什么,成功就是这样一点点一步步累积起来的网络只是一个工具,只有自己身心提高才是实实在在的。d-programming-language-china.org为大家提供一个学习交流各种知识的平台