C++关键字之——enum

在这里我先祝各位大佬 元宵节快乐!

HELLO,EVERYONE!终于放学了!我又可以写文章了!

这次呢,我要说说的是 非基本数据类型 —— enum(枚举)

还是先 复习 回到上次的基本数据类型非基本数据类型

基本数据类型:

整型 int / long / long long
布尔型 bool
字符型 char
实型
→ 单精度型 / 浮点型 float
→ 双精度型 double

非基本数据类型:

数组 [ ]
指针 *
空类型 void
结构体 struct
联合体 union
枚举 enum
class

这些数据类型我还是会一 一 叙 述的!

1、enum简介:

枚举(Enum)是一种数据类型,用于定义一组命名的常量。它可以帮助提高代码的可读性和可维护性,因为它允许您为一组相关的值赋予有意义的名称。在许多编程语言中,枚举被用于定义一组固定的值,这些值在程序的不同部分可能会被多次使用。

在许多编程语言中,包括 C、C++、Java、C#、Python 等,枚举的基本概念是一致的,尽管语法和用法可能会有所不同。

在枚举中,每个常量都有一个与之关联的名称,并且这些名称在同一个枚举类型中必须是唯一的。枚举可以具有与其关联的值,但如果没有明确地指定,它们通常会从0开始自动递增

C# 中定义一个枚举:

enum Weekday
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

在这个示例中,Weekday枚举类型包含了一周中的每一天,而每个枚举常量都有一个与之关联的整数值,从0开始递增(Monday为0,Tuesday为1,以此类推)。

可以使用枚举来代替常量值,从而使代码更易读、更易于维护。例如,您可以使用枚举来代替硬编码的数字或字符串值,从而增加了代码的可读性,并且如果需要进行更改,只需更改枚举定义即可,而不需要在代码中逐个查找和修改相应的值。

C++ 中定义一个枚举:

#include <iostream>

// 定义一个枚举类型 Weekday
enum Weekday {
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
};

int main() {
    // 声明一个枚举变量
    Weekday today;

    // 给枚举变量赋值
    today = Wednesday;

    // 使用枚举值进行条件判断
    if (today == Wednesday) {
        std::cout << "It's Wednesday, my dudes!" << std::endl;
    } else {
        std::cout << "It's not Wednesday." << std::endl;
    }

    return 0;
}

在这个例子中,我们首先定义了一个名为Weekday的枚举类型,其中包含了一周中的每一天。然后在main函数中声明了一个名为today的枚举变量,并将其赋值为Wednesday。最后,我们使用条件语句检查today的值,并输出相应的消息。

这个例子展示了如何使用C++的枚举类型来提高代码的可读性,以及如何在程序中使用枚举值进行条件判断。

总之,枚举是一种在程序中定义一组命名常量的有效方式,它提高了代码的可读性和可维护性,减少了硬编码值带来的错误和混乱。

2、enum的深究(讲的东西并不多,大家可以上网去查一下):

枚举类型(enum)在C++中是一种用户定义的数据类型,用于定义一组命名的整数常量。枚举类型使代码更易读、更易维护,并提供了一种可移植的方式来定义一组相关的常量。

在C++中,枚举类型的定义形式为:

enum EnumName {
    Constant1,
    Constant2,
    // 可以继续定义更多的常量...
};

在这里,EnumName是枚举类型的名称,Constant1、Constant2等是枚举常量,它们在枚举类型中都有唯一的整数值,从0开始递增。

例如,以下是一个简单的枚举类型的定义:

enum Color {
    Red,
    Green,
    Blue
};

在这个例子中,Color是枚举类型的名称,它包含了三个枚举常量:Red、Green和Blue,它们分别对应整数值0、1和2。

3、enum的使用注意事项:

默认值: 如果没有为枚举常量指定值,它们将从0开始自动递增。您也可以显式地为枚举常量指定值,例如:

enum Weekday {
    Monday = 1,
    Tuesday,
    Wednesday,
    // 继续递增...
};

在这个例子中,Monday被显式地赋值为1,而后续的枚举常量将在前一个常量的值基础上递增。

①作用域: 枚举常量的作用域在整个枚举类型内部,而不仅仅是在枚举定义的范围内。这意味着您可以在程序的任何地方使用枚举常量,而不必担心命名冲突。

②枚举类型转换: 枚举类型在编译时被视为整数类型,并且可以隐式地转换为整数类型。但是,整数类型不能隐式地转换为枚举类型,需要进行显式的类型转换。

③枚举类型的大小: 枚举类型在内存中的大小取决于枚举中的常量数量。通常情况下,枚举类型的大小与它可以表示的最大值的位数相关联。

④前置声明: 如果您需要在枚举类型之前使用它,可以使用前置声明来声明枚举类型,就像声明其他自定义类型一样。

⑤建议使用枚举: 在需要一组相关的常量时,建议使用枚举类型而不是硬编码的整数值或字符串值。这样可以提高代码的可读性和可维护性。

总之,在使用枚举类型时,您应该注意这些注意事项,以确保正确地使用和理解枚举类型的行为。

完结撒花!!!

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值