最近有用到 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 三個值
: