지식아일랜드

코딩 기초 15편 _ C++ 삼항 연산자(Ternary operator)와 컴마 연산자(Comma operator) 본문

C++ 기초

코딩 기초 15편 _ C++ 삼항 연산자(Ternary operator)와 컴마 연산자(Comma operator)

모르는게 없는 지식인 2023. 4. 16. 22:00
반응형

안녕하세요?

지식아일랜드의 모르는게 없는 지식인 입니다.

오늘은 C++ 코딩의 삼항 연산자(Ternary operator)와 컴마 연산자(Comma operator)에 대해

예제와 함께 설명드리겠습니다.

 

 

 

삼항 연산자(Ternary operator)
#include <iostream>
using namespace std;

int main() {
     int a = 5;
     int b = 7;

     int max_num = (a > b) ? a : b;

     cout << "최댓값은 " << max_num << "입니다." << endl;

     return 0;
}

 

이 코드는 변수 'a'와 'b'를 선언하고,

이 두 변수 중 어느 것이 더 큰지를 판별하여 더 큰 값을 'max_num' 변수에 할당합니다.

이렇게 할당된 'max_num' 변수는 'cout'을 사용하여 화면에 출력됩니다.

 

이 코드에서 사용된 삼항 연산자는 다음과 같습니다.

(a > b) ? a : b

 

이 연산자는 먼저 괄호 안의 조건식 'a > b'를 평가합니다.

이 조건식이 참이면 콜론 앞의 값인 'a'가 결과가 되고, 거짓이면 콜론 뒤의 값인 'b'가 결과가 됩니다.

 

따라서 위의 코드에서 'a'는 '5'이고 'b'는 '7'이므로 '(a > b)'는 거짓이 되고, 'max_num' 변수는 'b'의 값인 '7'이 됩니다.

 

즉, 위의 코드는 화면에 "최댓값은 7입니다."라는 문자열을 출력합니다.

 

이렇게 삼항 연산자는 if-else 문을 간단하게 대체할 수 있으며, 코드를 간결하게 만들어줍니다.

 

 

컴마 연산자(Comma operator)

컴마 연산자는 C++에서 사용되는 연산자 중 하나로, 쉼표(,)로 표현됩니다.

이 연산자는 왼쪽 피연산자를 계산한 뒤, 오른쪽 피연산자를 계산하고, 마지막으로 오른쪽 피연산자를 반환합니다.

이 때, 왼쪽 피연산자의 결과값은 무시됩니다.

 

예를 들어, 다음과 같은 코드를 생각해 봅시다.

int x = 1, y = 2, z = 3;
int result = (x++, y++, z++);

 

이 코드에서는 컴마 연산자를 이용하여 변수 x,y,z의 값을 각각 1씩 증가시키고,

마지막으로 z의 값을 result 변수에 저장합니다.

이 때, x와 y의 값은 증가되지만 결과값으로는 사용되지 않습니다.

 

위의 코드는 다음과 같이 해석됩니다.

 

1. x의 값을 1 증가시킨 후, 그 결과값을 무시합니다.

2. y의 값을 1 증가시킨 후, 그 결과값을 무시합니다.

3. z의 값을 1 증가시킨 후, 그 결과값을 result 변수에 저장합니다.

 

따라서, result 변수에는 3이 저장됩니다.

 

아래는 위 코드의 결과를 출력하는 예제입니다.

#include <iostream>

int main() {
     int x = 1, y = 2, z = 3;
     int result = (x++, y++, z++);
     std: :cout << "x = " << x << ", y = " << y << ", z = "<< z << std: :endl;
     std: :cout << "result = " << result << std: :endl;
     return 0;
}

 

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

x = 2, y = 3, z = 4
result = 3

 

위 예제에서는 컴마 연산자를 이용하여 변수의 값을 증가시키는 간단한 예제를 보여주었습니다.

이 외에도 컴마 연산자는 다양한 용도로 사용될 수 있습니다.

예를 들어, 여러 개의 문장을 한 줄에 작성할 때나,

for 문의 초기화 부분에서 여러 개의 변수를 초기화하는 경우 등에 사용할 수 있습니다.

 

 

 

 

어떠셨나요?

C++ 코딩 삼항연산자와 컴마 연산자에 대해 이해가 좀 되셨나요?

자연스럽게 이해시켜드리려고 예시와 함께 설명드렸는데요

많은 도움이 되셨으면 좋겠습니다 

그럼 저는 다음 포스팅으로 돌아오겠습니다^^

반응형
Comments