두 개의 표현식을 콤마(,)를 통해 하나로 묶어주는 역할을 한다.
- 왼쪽 표현식부터 평가된다.
변수를 선언할 때 사용하는 구분자 콤마와는 다른 의미이다.
#include <iostream>
using namespace std;
void main()
{
int i;
int j = (i = 2, i += 3);
cout << "i: " << i << ", j: " << j << endl << endl;
// 변수 선언은 구분자이고
// 증감은 콤마 연산자이다.
for (int a = 0, b = 10; a < b; ++a, --b)
cout << "a: " << a << ", b: " << b << endl;
}
출력
i: 5, j: 5
a: 0, b: 10
a: 1, b: 9
a: 2, b: 8
a: 3, b: 7
a: 4, b: 6
하지만, for문의 증감이나 if의 실행 내용을 1줄로 줄이는 용도 이외에는 사용하지 않는 것이 좋다.
아래처럼 작성하면 이게 함수에 인자를 넘기는 건지도 헷갈리고 결괏값을 단번에 파악하기가 어렵기 때문이다.
int j = (i = 2, i += 3);
'C++ > 기타' 카테고리의 다른 글
정수 표기법(Literal) (0) | 2023.04.19 |
---|---|
동적 할당 시 0으로 초기화 (1) | 2023.03.20 |
람다 식에서 [this] 캡처 (0) | 2023.03.15 |
클래스 전방 선언(Forward declaration) (0) | 2023.03.07 |
override 키워드 (0) | 2023.03.01 |