版权声明:转载请注明出处 https://blog.csdn.net/weixin_40501169/article/details/88575745
在看源码时看到一个
eunm class writeControl
{
timeStep,
runTime,
adjustableRunTime,
clockTime,
cpuTime
};
查了一下是11标准的新的枚举,其枚举量的作用域为类。
传统的两个枚举定义中的枚举量可能发生冲突。
如下
enum egg{small,big};
enum bread{small,big};
以上不能通过编译。可以如下
enum class egg{small,big};
enum class bread{small,big};
也可以使用关键字struct代替class,无论使用哪种方式,都需要使用枚举型来限定枚举量
egg choice = egg::small;
bread choice_ = bread_::small;
枚举量的作用域为类后,不同枚举定义的枚举量就不会发生名称冲突了。
这里枚举类的概念区别于java中的枚举类。。。(可能只有我自己经常搞混吧
java中的枚举类是表明我这个类就一下几种可能的对象