
조건 연산자 (?:)
개요
조건 연산자(?:)는 C++에서 유일하게 세 개의 피연산자를 갖는 삼항 연산자(ternary operator)입니다. if-else 문을 간결하게 표현하는 데 사용됩니다.
C++ 버전별 주요 키워드 도입 시기
- C99 이전 (C/C++): 조건 연산자는 C 언어 초기부터 존재했으며, C++에서도 처음부터 지원되었습니다.
내용 설명
조건 ? 표현식1 : 표현식2의 형태로 사용됩니다.
조건이 참(true)이면표현식1이 평가되고, 그 결과가 전체 연산의 결과값이 됩니다.조건이 거짓(false)이면표현식2가 평가되고, 그 결과가 전체 연산의 결과값이 됩니다.
예제 코드
#include <iostream>
#include <string>
int main() {
// 예제 1: x에 값 할당
// 5 > 2 조건이 참이므로 x에 1이 할당됩니다.
int x = (5 > 2) ? 1 : 0;
std::cout << "--- Example 1 ---" << std::endl;
std::cout << "The value of x is: " << x << std::endl;
// 예제 2: 합격/불합격 판정
int score = 85;
std::string result = (score >= 60) ? "Pass" : "Fail";
std::cout << "\n--- Example 2 ---" << std::endl;
std::cout << "The test result is: " << result << std::endl;
return 0;
}
실행 결과
--- Example 1 ---
The value of x is: 1
--- Example 2 ---
The test result is: Pass
활용팁
- 간단한 조건에 따라 값을 할당할 때
if-else블록보다 코드를 더 짧고 간결하게 만들 수 있습니다. - 조건 연산자를 중첩해서 사용하면 코드가 복잡해지고 가독성이 떨어지므로, 복잡한 로직에는
if-else문을 사용하는 것이 좋습니다.
'개발 > C++ (98,03,11,14,17,20,23)' 카테고리의 다른 글
| Before Classic C++ : Preprocessor (0) | 2025.10.30 |
|---|---|
| Before Classic C++ : Bitwise Operators (0) | 2025.10.29 |
| Before Classic C++ : enum (0) | 2025.10.27 |
| Before Classic C++ : Comma Operator (0) | 2025.10.26 |
| Before Classic C++ : goto (1) | 2025.10.25 |
| Before Classic C++ : continue (0) | 2025.10.24 |
| Before Classic C++ : break (1) | 2025.10.23 |
| Modern C++ : std::exception (98, 11) (0) | 2025.10.22 |