[問題] template 偏特化設計問題

看板C_and_CPP作者 (lionking - 辛巴)時間12年前 (2013/05/15 03:12), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Ubuntu 13.04 (g++ 4.7.3) 問題(Question): 我現在設計了一個 struct 用來處理二維坐標點 (程式碼已減化成只剩一個 ctor) 因為 type 有可能是 int 或 double,所以我就直接設計成 template 這樣以後 reuse 也方便的多 而現在我有另一個演算法,需要分別對這些座標點的 x 與 y 做處理 舉例來說,我有一堆座標點,我想要分別得知他們最大的 x 與 y 分別是多少 最簡單的方法就是寫兩個 function 分別處理 x 跟 y 不過我要實作的演算法有點複雜,如果這樣做以後要維護會是個負擔 所以就設計了另一個 struct 用來處理 access member data 的問題 底下的 code 是目前想到的設計 (因為 function 不能做偏特化,所以才改用 struct 而且多載了 operator() 讓它變成 functor) 但我覺得這樣使用起來還是沒有很方便,因為我還得要先宣告後才能使用 所以想請問是否有其他更好的設計呢? 謝謝! 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/25sbLf -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.238.148

05/16 04:25, , 1F
我應該會像這樣寫 http://ideone.com/TlITUy
05/16 04:25, 1F

05/16 14:21, , 2F
我的話會考慮用policy
05/16 14:21, 2F

05/16 19:33, , 3F
--use lambda and std::function--
05/16 19:33, 3F
文章代碼(AID): #1HalqwDD (C_and_CPP)