意外と知られていないのかな?・・・と思ったので、取りあえず述べてみます。
ちなみに、
return (i == 5);
を見て
だから何?
と思った人は、読んでもつまらない話です。
if (i > 5) {
ruturn true;
}
else {
return false;
}
例えば上記のコードがあったとします。
これは、以下のように書くことができます。
return (i > 5);
何故なら、
bool b = (i > 5);
とすると、b に true か false が入るからです。
つまり、(i > 5) の比較演算結果は「どちらが大きいか?」ではなく、常に真(true)か偽(false)を返すのです。
ちなみに、以下は同じ意味になります。
return (i > 5);
return !(i <= 5);
これを応用すると、こんな表現も思いつきます。
while(true) { Method(); }
while(false) { Method(); }
if (true) { Method(); }
if (false) { Method(); }
if (true & false) { Method(); }
if (true && false) { Method(); }
if (true || false) { Method(); }
bool b = (i > 5);
if (b) { Method(); }
比較演算は、条件を得るのではなく、比較演算を行った結果を取得すると考えるとわかりやすいかも知れません。