求一个枚举类型 enum 的完整用法
本帖最后由 zhangjinxuan 于 2022-12-22 13:16 编辑如题,网上的资料有点难以理解,即使理解了,也觉得 enum 没有什么作用,是我理解不对吗{:9_241:}
就想求大佬们给出enum的完整用法,在C++中, enum除了搞什么0123456还有什么用吗?
我感觉确实什么用都没有{:10_279:} 基本上用不到 tommyyu 发表于 2022-12-22 13:11
我感觉确实什么用都没有 基本上用不到
确实什么也没用{:10_277:}难道这个enum就是来搞什么0123456之类的{:10_277:} zhangjinxuan 发表于 2022-12-22 13:14
确实什么也没用难道这个enum就是来搞什么0123456之类的
不知道{:10_304:}我现在只能想起来之前好像学过它,但因为学完之后一次没用就忘了 tommyyu 发表于 2022-12-22 13:15
不知道我现在只能想起来之前好像学过它,但因为学完之后一次没用就忘了
啊这{:10_282:} zhangjinxuan 发表于 2022-12-22 13:16
啊这
Python竟然有一个同名模块,功能也一样https://blog.csdn.net/ProQianXiao/article/details/113481092{:10_257:} tommyyu 发表于 2022-12-22 13:19
Python竟然有一个同名模块,功能也一样https://blog.csdn.net/ProQianXiao/article/details/113481092{:1 ...
我看看{:10_257:} 个人理解
enum 的价值主要在给某个(主要是)整数一个名字,让这个值自己解释自己。我说令 0 表示红色, 1 表示绿色, 2 表示蓝色,不如定义一个枚举类型,让红色就是 Red ,绿色就是 Green ,蓝色就是 Blue ,既方便阅读还避免了自己排列数值可能出现的错误(不小心排了两个 1 之类)。
至于归类的效果, C 还会弱一些因为没有严格保证,和整数之间可以随意隐式转换。 C++ 的 enum class 则强化了限制,禁止不同枚举类型的枚举值之间和到整数之间的隐式转换,可以避免一些隐蔽的错误,算是一种语法盐。
C 的枚举类型还有一个小 hack ,因为枚举值是编译期常量,当不想用 define 预处理的时候可以用 enum 来指定数组长度 tommyyu 发表于 2022-12-22 13:11
我感觉确实什么用都没有 基本上用不到
{:10_270:}
页:
[1]