枚举enum

枚举

将该某种类型或者选项的所有的取值列举出来,前提是可以穷举的,将其全部都列举出来,供选择使用;

枚举基本性质

  1. 枚举总元素称为枚举常量,只有在定义时可以赋值,有且只有一次,就因为是常量;
  2. 如果枚举元素都没有赋值,默认从0开始,如果有赋值,将以赋值为准,依次向后递增,但不影响之前的枚举元素。

枚举使用

  • 枚举元素默认值从0开始
enum DAY{
    MON , TUE, WED, THU, FRI, SAT, SUN
};

int main() {
    enum DAY day1 = DAY::MON;
    cout << DAY::MON << " " << DAY::TUE << " " << DAY::WED << " " << DAY::THU << " " << DAY::FRI << " " 
            << DAY::SAT << " " << DAY::SUN << endl;
    return 0;
}

0 1 2 3 4 5 6
  • 如果枚举元素被赋值,将以赋值以后的值为起增点,之后的值依次+1
enum DAY{
    MON = 10 , TUE, WED, THU, FRI, SAT, SUN
};

int main() {
    enum DAY day1 = DAY::MON;
    cout << DAY::MON << " " << DAY::TUE << " " << DAY::WED << " " << DAY::THU << " " << DAY::FRI << " " 
            << DAY::SAT << " " << DAY::SUN << endl;
    return 0;
}

10 11 12 13 14 15 16
enum DAY{
    MON = 10 , TUE, WED, THU = 99, FRI, SAT, SUN
};

int main() {
    enum DAY day1 = DAY::MON;
    cout << DAY::MON << " " << DAY::TUE << " " << DAY::WED << " " << DAY::THU << " " << DAY::FRI << " " 
            << DAY::SAT << " " << DAY::SUN << endl;
    return 0;
}

10 11 12 99 100 101 102
enum DAY{
    MON , TUE, WED, THU = 99, FRI, SAT, SUN
};

int main() {
    enum DAY day1 = DAY::MON;
    cout << DAY::MON << " " << DAY::TUE << " " << DAY::WED << " " << DAY::THU << " " << DAY::FRI << " " 
            << DAY::SAT << " " << DAY::SUN << endl;
    return 0;
}

0 1 2 99 100 101 102
  • 枚举元素是常量
enum DAY{
    MON , TUE, WED, THU = 99, FRI, SAT, SUN
};

int main() {
    int arr[DAY::THU] = { 0 };
    cout << sizeof(arr) / sizeof(arr[0]) << endl;
    return 0;
}

99
enum DAY{
    MON , TUE, WED, THU = 99, FRI, SAT, SUN
};

int main() {
    DAY::FRI = 100; //error
    return 0;
}

error:表达式必须是可以修改的左值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值