Re: [問題] 想把 > 和 < 在迴圈中動態給定

看板Programming作者時間12年前 (2013/02/16 16:15), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串3/4 (看更多)
假設是寫c++ 純粹就置換大於小於來說 可以用std的less跟greater 雖然說實質上也是多開了function 用c++內建的function總是比自己多開的好 template <class C> void f(int a, C c) { if (c(a, 1)) ... else if (c(a, 2)) ... } // 不要迴圈了 call兩次就好 f(a, std::greater<int>()); f(a, std::less<int>()); 不過這寫法遇到保守的人, stl hater或template hater大概都會被罵到臭頭 XD ※ 引述《BBSealion (海獅)》之銘言: : 有點不清楚怎麼敘述 : 就是我有一個判斷是要跑 : if(a>1) : else if(a>2) : ... : else if(a>10) : 另一個就是反過來 : if(a<1) : else if(a<2) : ... : else if(a<10) : 因為兩個判斷是裡面做的事情很像 : 我想寫成一個i=0~1跑兩次的迴圈解決 : 但要怎樣控制那個判斷式的 > 和 < 記號呢? : 是可以另外寫一個function丟參數i進去實作 > 和 < : 但為了一個大於小於多開一個function感覺還是不太漂亮 : 想知道有沒有更精簡的寫法呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.72.119

02/16 17:44, , 1F
我倒是覺得滿好的 XDD
02/16 17:44, 1F

02/16 21:26, , 2F
template hater毫無意義
02/16 21:26, 2F
文章代碼(AID): #1H7q0NwG (Programming)
文章代碼(AID): #1H7q0NwG (Programming)