PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
Re: [分享] C++11 : Strongly typed enumerations
作者:
ot32em
(reverse(wasefo);)
2014-09-11 00:01:58
最近有用到 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 三個值
:
作者:
carylorrk
(carylorrk)
2014-09-14 04:03:00
在沒有 compile-time reflection 之前看到的解決方法大多還是以 MACRO 產生包含所有值的 array 爲主不過通常會先避免需要 iterate 所有值的情況。記得之前有看到用 macro 產生類似 java enum util 的有點類似這樣 但是更完整(支援自訂值和 namespace 等
http://goo.gl/QUr5ed
繼續閱讀
[問題] 想請板友提供Windows視窗程式理解建議
BIAO
[問題] 服務程式設計...
BIAO
Re: [問題] 亂數生成問題(已修改問題)
wope
[分享] 一個 variadic template 形式的問題
yoco315
[問題] 請問C++在DLL內使用Sqlite方法
jerelee
[問題] 冒泡排序的問題
kdok123
Re: [問題] 指標理解與op比較運算子
Killercat
[問題] 宣告問題?
aris1008
Re: [問題] 指標理解與op比較運算子
bleed1979
[問題] 指標理解與op比較運算子
laiDark
Links
booklink
Contact Us: admin [ a t ] ucptt.com