C++惯用法之enum class
在Effective modern C++中Item 10: Prefer scoped enums to unscoped enum,调到要用有范围的enum class...根据前面我们知道,enum名在范围方面没有什么作用,因此我们想到了namespace,如下例子:
// 在创建枚举时,将它们放在名称空间中,以便可以使用有意义的名称访问它们:
namespace EntityType...将命名空间起的有意思点,就可以达到想要的效果。...但是不断的使用命名空间,势必太繁琐,而且如果我不想使用namespace,要达到这样的效果,便会变得不安全,也没有约束。
因此在c++11后,引入enum class。...enum class 解决了为enum成员定义类型、类型安全、约束等问题。