関数型に慣れてくると、if文じゃなくてif式がほしくなります。
(条件演算子ではなく、ifが戻り値を返してほしい)
こんな感じで使いたい。
x = if (a < b) a else b;
C++でやるなら、条件演算子をマクロにしてしまうのが簡単かな。
#define if_(Cond) Cond #define then_ ? #define else_ :
int a = 1; int b = 2; int x = if_(a < b) then_ a else_ b;
追記:
こっちの方がよさそう
#define if_(Cond) (Cond)? #define else_ :
int a = 1; int b = 2; int x = if_(a < b) a else_ b;
ちなみに、ScalaやRubyのifは戻り値を返します。