short circuit

비교식은 bool이 되고, 논리식은 필요한 만큼만 평가된다

조건문은 비교 결과를 먼저 만들고, && 또는 ||의 규칙에 따라 다음 조건을 볼지 결정한다.

1

비교식 평가

score >= 60 true

관계 연산자는 두 값을 비교해 bool 값을 만든다.

2

논리 조합

isAdult && hasLicense AND

여러 판단을 하나의 조건식으로 묶는다.

3

단락 평가

false && check() skip

결과가 정해지면 뒤 조건은 평가하지 않는다.

4

조건문 사용

if (canEnter) branch

최종 bool이 true일 때 본문을 실행한다.

단락 평가 규칙

A && B

A가 false면 B 생략

모두 참이어야 하므로 첫 조건이 false이면 결과는 이미 false다.

A || B

A가 true면 B 생략

하나만 참이어도 되므로 첫 조건이 true이면 결과는 이미 true다.

안전한 조건식 읽기

ptr != nullptr && ptr->member == value

왼쪽 비교가 false이면 오른쪽 접근은 실행되지 않아 잘못된 포인터 접근을 피할 수 있다.

읽는 법

복합 조건은 비교식 단위로 나누고, 왼쪽에서 오른쪽으로 어느 지점에서 결과가 확정되는지 확인한다.