→ Caesar08: 用template又指定CString? 01/06 14:26
→ tyc5116: 恩~輸入字串,找到名稱相對應的enum 01/06 14:35
→ tyc5116: 雖然我也覺得那樣的宣告方式怪怪的 01/06 14:35
推 shadow0326: 不太懂想做什麼,如果只是想把字串mapping enum的話 01/06 14:56
→ shadow0326: 何不用unordered_map 01/06 14:56
→ uranusjr: 最簡單的方法是自己寫一個 map, 其他方法都很 hacky 01/06 17:42
推 noodleT: 是想要修改 item 不須動到其它程式碼嗎? 01/06 18:30
→ tyc5116: 因為用map實作,現有的程式要修改不少,所以在想說有沒有 01/06 19:29
→ tyc5116: 其它辦法,template可以實作的話似乎是最簡潔的方式 01/06 19:30
→ tyc5116: 所以上來問問看 01/06 19:30
→ uranusjr: 那只能老實跟你說這個用純 C++ 真的是辦不到... 01/06 21:49
→ uranusjr: 唯一比較像的是 macro 例如 #define TE(t1, t2) t1::t2 01/06 21:51
→ uranusjr: 之類的可以讓你 TE(test, item1) 但是用字串變數不可能 01/06 21:51
推 soheadsome: m4之類的應該可以 感覺你是想做ruby那種hash 01/06 22:32
推 noodleT: 不如做一個解析器,利用原始碼文字檔產生 map.cpp 01/07 00:03
→ druid0214: 用一個function作初始化回傳static的列表 01/07 07:11
推 druid0214: 但是感覺你要動態初始化enum 簡稱白X 01/07 07:15
→ tyc5116: 原來的需求,有個現成的func,可以新增欄位到database內 01/07 10:48
→ tyc5116: 其中一個參數指定欄位的順序位置,原程式用enum指定位置順 01/07 10:49
→ tyc5116: 序,例如addtable(tablename,fieldname,type,pos) 01/07 10:50
→ tyc5116: 參數4丟的就是test::item1,之類的,若要新增大量欄位 01/07 10:51
→ tyc5116: 就會變的麻煩,其它參數都可以由外部txt or ini或得,只有 01/07 10:52
→ tyc5116: 這個參數不知道怎麼處理比較好 01/07 10:52
→ tyc5116: 雖然db不在意順序位置,但是順序亂看的時候還是會不方便.. 01/07 10:54
推 noodleT: 用另一個 ini 當紀錄 [enum] item0=0 01/07 23:11
噓 Sidney0503: 你的想法就好比要C語言private繼承&變數型態隨意變化 01/09 10:58
→ Sidney0503: 現有的程式要修改不少 那就是設計不良 架構錯誤 01/09 10:59
→ Sidney0503: 那更要重購 01/09 11:00
推 Sidney0503: 所以建議從頭改你們的程式架構 01/09 11:00
推 fqstory: Class 和 Enum 是數量固定,可以窮舉if else做到(醜了點 01/15 11:36
→ fqstory: ) 01/15 11:36