最近有用到 enum class 当做是某些值的 key
就有用到需要把 enum 内的值都走一遍
来检查 KEY 对应的值有没有存在
然后就有遇到 enum class 要巡回
要转换成 integer +1 会很麻烦
后来有参考到 StackOverflow 上的一些解法
"把他做成 Iterator"
这里我有实作出一个简单的 Enum Wrapper
可以 for(auto key: Enum<YOUR_ENUM>()){ ... }
就能够走一遍
不过还是有一些限制
像是要连号跟要指定 First/Last 元素
但是己经可以省下一些转型的手续
http://ot-note.logdown.com/posts/231687
※ 引述《akasan (KITO)》之铭言:
: 好读版 : http://kitoslab.blogspot.tw/2012/09/c11-strongly-typed-enumerations.html
: 因为我不太会上色所以这边只有难读版的XD....
: - 回顾 enum
: 在 C++11 以前以下 enum 会污染整个 namespace
: 大致的意思是如果你宣告了一个 enum E, 他有 A, B, C 三个值
: