더북(TheBook)

1.4.3.2 조건식

이 절에서는 문장에 관해 설명하고 있지만, if 문과 비슷한 조건식에 대해 이야기하려고 한다. 다음 조건식을 보도록 하자.

조건 ? true일 때의 결과 : false일 때의 결과

이 조건식의 결과는 조건이 true일 경우 두 번째 하위 표현식(즉, true일 때의 결과)이고 false일 경우 세 번째 하위 표현식(즉, false일 때의 결과)이 된다. 예를 들어 다음과 같은 조건식이 있다고 하자.

min = x <= y ? x : y;

이에 해당하는 if 문은 다음과 같다.

if (x <= y)
    min = x;
else
    min = y;

초보자의 경우 두 번째 형태가 좀 더 읽기 쉬울 것이다. 반면에 숙련된 프로그래머들은 종종 간결한 첫 번째 형태를 선호한다.

?:는 표현식이므로 변수를 초기화하는 데 사용할 수 있다.

int x = f(a),
    y = x < 0 ? -x : 2 * x;
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.