이 전환은 얼마나 휴대하기 쉬운가. 두 어설 션이 모두 통과 될 수 있습니까?
int x = 4<5;
assert(x==1);
x = 4>5;
assert(x==0);
이유를 묻지 마십시오. 나는 그것이 추악하다는 것을 알고 있습니다. 감사합니다.
assert( 4 < 5);
와assert(!( 4 > 5));
(4 < 5) ? 1 : 0
부울을 실제로 0 또는 1로 변환해야 할 경우 아마 쓸 것입니다 . 좋은 컴파일러는 동일한 기계 코드를 생성 할 것이며 아마도 사람에게는 더 명확 할 것입니다.
assert(x!=0)
. bool (true)가 이식성을 int (1)로 변환하더라도 "false가 아닌"어설 션은 더 읽기 쉬운 표현을 갖습니다.