作者AntaresStar ()
看板Programming
标题Re: [问题] 想把 > 和 < 在回圈中动态给定
时间Sat Feb 16 16:15:17 2013
假设是写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
1F:→ suhorng:我倒是觉得满好的 XDD 118.166.52.23 02/16 17:44
2F:→ fireslayer:template hater毫无意义 140.113.68.74 02/16 21:26