조건 연산자 ?: C++ 자습서 29

조건 연산자 ?: C++

조건 연산자는 if else 문을 간단한 기호로 표시한 것 입니다. 항을 세개 사용하기 때문에 삼항 연산자 또 조건에 따라 분기하므로 조건 연산자라고도 합니다. C++에서 항(피연산자 – operand)을 세개 사용하는 연산자입니다.

표현식1 ? 표현식2 : 표현식3

의 형식을 가지고 있습니다. 표현식1의 값이 true 인 경우 표현식2를 false 인 경우 표현식3을 리턴합니다. 아래의 간단한 예제에서는 사용자에게 숫자를 입력 받아서 0보다 크면 1 작으면 0을 리턴합니다. (중간에 0이 있지만 간단하도록 생략한 예제)

#include<iostream>

int main()
{

    using std::cout;
    using std::cin;
    using std::endl;

    cout << "숫자를 입력하시오." << endl;

    int num1;
    cin >> num1;

    int num2 = num1 > 0 ? 1 : 0;

    cout << "양수는 1, 음수는 0 : " << num2 << endl;

    return 0;
}

조건 연산자를 사용하는 이유는 if else 문으로는 여러 줄에 걸쳐서 쓰는 코드를 간단하게 한 줄로 표현할 수 있기 때문입니다. 위의 한 줄을 if문으로 쓰면 아래와 같습니다.

int a, b;
if(a > 0)
    b = 1;
else
    b = 0;

한 줄로 쓰면 훨씬 간결하게 눈에 들어옵니다. 다만 제어 내용이 복잡한 경우 한 줄로 쓰면 더 복잡해지니 적당한 가독성을 고려하여 if else 문과 병행하여 사용합니다.

요약

C++의 조건 연산자 ?: 에 대해서 알아봤습니다. if else 문과 함께 상황에 따라 적절하게 사용하는 것이 좋습니다.

관련 문서

조건부 연산자: ? : | Microsoft Docs

Leave a Comment