C++ならC++98の最初から > 5.9 Relational operators > 7 ...(略)... The operators < (less than), > (greater than), <= (less than or equal to), > and >= (greater than or equal to) all yield false or true. The type of the result is bool で、 == とかは略すけど同様で、 > 4.5. Integral promotions > 4 An rvalue of type bool can be converted to an rvalue of type int, with > false becoming zero and true becoming one. となってる。まぁ、0/1じゃなくてfalse/trueが帰ってくるのだー、 と言う意味なら「そんな仕様はない」でもあながち間違いではないが…