Hem*_*lin 4 c++ enums templates self-documenting-code enum-class
我创建了一个小类,允许我使用强类型枚举的枚举器作为标志(组合).我正在使用type_traits进行底层类型检测,因此它应该是稍微类型安全的,并且主要在编译时处理.但是,我想知道它是否真的值得.
我现在可以写一些像
void Foo(Flags<Mode> Value);
Run Code Online (Sandbox Code Playgroud)
并且程序员将看到他只能使用Mode中的枚举器(例如Mode :: Read),并且他也不能将任何其他枚举与Mode结合使用.你觉得它比...更好吗?
void Foo(int Mode);
Run Code Online (Sandbox Code Playgroud)
,我不确定人们是否能欣赏它?