비교와 대입 구분
==는 질문이고, =는 값을 넣는 동작입니다.
조건식이 길어질수록 비교 하나가 어떤 bool을 만드는지 분리해 읽어야 대입 실수, 범위 실수, 단락 평가 순서 실수를 줄일 수 있습니다.
if (score = 60)
if (score == 60)처럼 비교 의도를 명시합니다.
0 < x < 10
(0 < x) && (x < 10)으로 비교를 둘로 나눕니다.
a == b
std::abs(a - b) < EPS로 오차 범위를 둡니다.
ptr->ready && ptr != nullptr
ptr != nullptr && ptr->ready처럼 먼저 보호합니다.
==는 질문이고, =는 값을 넣는 동작입니다.
수학식처럼 이어 쓰지 말고 두 bool을 &&로 묶습니다.
!(a && b)와 !a && b는 다른 조건입니다.
단락 평가로 오른쪽 표현식이 실행되지 않을 수 있음을 기준으로 순서를 잡습니다.