Re: [問題] 想把 > 和 < 在迴圈中動態給定
假設是寫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
02/16 17:44, 1F
→
02/16 21:26, , 2F
02/16 21:26, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章