zoukankan      html  css  js  c++  java
  • 枚举Enumerations (enum)

    Enumerated types (enum)

    枚举类型是一组用户自定义的类型,被称为枚举(enumeratros),也被称为可能值(possible values)。枚举类型的对象可以取枚举的任意一个值。

    枚举(Enumerations)可以用来生成一些任意类型的数据,不只限于数字类型或字符类型,甚至常量true 和false。它的定义形式如下:

        enum type_name{

        value1;

        value2;

        value3;

        ...

        ...

        }object_name;

    这里创建了类型 type_name,它可以取 value1, value2,value3,...,中的任意一个值。这个类型的对象(variables)可以直接实例化为

    object_names。

    例如,我们定义一个存储有不同颜色的新的变量类型 colors_t,如下:

     

        enum colors_t{black, blue, green, cyan, red, purple, yellow, white};

    注意在这个定义里我们没有使用任何基本数据类型。换句话说,我们创造了一种的新的数据类型,而它并没有基于任何已存在的数据类型:类型

    color_t,花括号{}中包括了它的所有的可能取值。例如,在定义了colors_t 列举类型后,我们可以使用以下表达式 :

        colors_t mycolor;

        mycolor = blue;

        if(mycolor == green) mycolor = red;

    实际上,我们的枚举数据类型在编译时是被编译为整型数值的,而它的数值列表可以是任何指定的整型常量 。如果没有指定常量,枚举中第一个列出的

    可能值为0 ,后面的每一个值为前面一个值加1。因此,在我们前面定义的数据类型colors_t 中,black 相当于0, blue 相当于 1, green 相当于2

    ,后面依此类推。

    如果我们在定义枚举数据类型的时候明确指定某些可能值(例如第一个)的等价整数值,后面的数值将会在此基础上增加,例如:

        enum months_t { january = 1, february, march, april, may, june, july, 

                  august, september, october, november, december}y2k;

    在这个例子中,枚举类型 months_t 的变量 y2k 可以是12种可能取值中的任何一个,从 january 到 december ,它们相当于数值1 到 12,而不是0到 11 ,因为我们已经指定 january 等于1。

  • 相关阅读:
    年末反思
    Flink运行时架构
    Phoenix 启动报错:Error: ERROR 726 (43M10): Inconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have phoenix.schema.
    Clickhouse学习
    Flink简单认识
    IDEA无法pull代码到本地,Can't Update No tracked branch configured for branch master or the branch doesn't exist.
    第1章 计算机系统漫游
    简单的 Shell 脚本入门教程
    开源≠免费 常见开源协议介绍
    MySQL 视图
  • 原文地址:https://www.cnblogs.com/guozqzzu/p/3627335.html
Copyright © 2011-2022 走看看