더북(TheBook)

1.3.5 프로그램 흐름

프로그램 흐름을 제어하는 연산자는 세 가지다. 먼저 C++에서 함수 호출은 연산자처럼 처리한다. 함수와 함수 호출에 대한 자세한 설명은 1.5절을 보라.

조건 연산자 c ? x : y는 조건 c를 계산한 뒤, 참일 경우 표현식은 x의 값을 갖고 거짓일 경우 y의 값을 갖는다. 조건 연산자는 if 문의 대안으로 사용할 수 있으며, 특히 문(statement)이 아닌 표현식만 사용할 수 있는 곳에서는 유용하다. 1.4.3.1절을 보라.

콤마 연산자(Comma Operator)는 순차적인 계산을 제공하는 C++에서 아주 특별한 연산자다. 콤마 연산자가 갖는 의미는 콤마의 왼쪽에 있는 하위 표현식을 먼저 계산한 뒤 오른쪽에 있는 하위 표현식을 계산하는 것이다. 표현식 전체의 값은 오른쪽 하위 표현식의 값이다.

3 + 4, 7 * 9.3

표현식의 결과는 65.1이며 첫 번째 하위 표현식의 계산은 전혀 관련이 없다. 하위 표현식 또한 콤마 연산자를 포함할 수 있으며, 따라서 임의의 긴 시퀀스를 정의할 수 있다. 콤마 연산자의 도움으로 오직 하나의 표현식만 사용할 수 있는 프로그램 위치에서도 여러 표현식들을 계산할 수 있다. 전형적인 예로 for 문에서 여러 인덱스를 증가시키는 경우가 있다(1.4.4.2절 참조).

++i, ++j

콤마 표현식을 함수의 인수로 사용할 때는 괄호로 둘러싸야 한다. 그렇지 않으면 콤마를 함수 인자들을 분리한다고 해석한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.