
04. 나열 연산자 (Comma Operator)
개요
나열 연산자(,)는 여러 표현식을 왼쪽에서 오른쪽으로 순서대로 평가하는 연산자입니다. 전체 표현식의 결과값은 가장 오른쪽 표현식의 값이 됩니다.
C++ 버전별 주요 키워드 도입 시기
- C99 이전 (C/C++): 쉼표 연산자는 C 언어 초기부터 존재했으며, C++에서도 처음부터 지원되었습니다.
내용 설명
쉼표 연산자는 두 개의 피연산자를 가집니다. 왼쪽 피연산자를 먼저 평가하고, 그 결과를 버린 뒤 오른쪽 피연산자를 평가합니다. 전체 연산의 결과는 오른쪽 피연산자의 값과 타입이 됩니다. 주로 for 루프의 초기화나 증감 부분에서 여러 변수를 한 번에 처리할 때 사용됩니다.
예제 코드
#include <iostream>
int main() {
int i, j, k;
// 예제 1: 변수 할당
// 1. j에 3이 할당됩니다. (j=3)
// 2. k에 j+2 (즉, 5)가 할당됩니다. (k=5)
// 3. k*3 (즉, 15)가 평가되고, 이 값이 i에 할당됩니다.
i = (j = 3, k = j + 2, k * 3);
std::cout << "--- Example 1 ---" << std::endl;
std::cout << "j = " << j << std::endl;
std::cout << "k = " << k << std::endl;
std::cout << "i = " << i << std::endl;
// 예제 2: for 루프에서 사용
std::cout << "\n--- Example 2 ---" << std::endl;
for (int x = 0, y = 10; x <= 5; ++x, --y) {
std::cout << "x: " << x << ", y: " << y << std::endl;
}
return 0;
}
실행 결과
--- Example 1 ---
j = 3
k = 5
i = 15
--- Example 2 ---
x: 0, y: 10
x: 1, y: 9
x: 2, y: 8
x: 3, y: 7
x: 4, y: 6
x: 5, y: 5
활용팁
for루프에서 여러 변수를 동시에 초기화하거나 업데이트할 때 코드를 간결하게 만들 수 있습니다.- 함수 인자 목록이나 변수 선언에 사용되는 쉼표는 연산자가 아니라 구분자(separator)이므로 혼동하지 않도록 주의해야 합니다.
- 가독성을 해칠 수 있으므로
for루프 외의 복잡한 표현식에서는 남용하지 않는 것이 좋습니다.
'개발 > 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++ : Conditional Operator (1) | 2025.10.28 |
| Before Classic C++ : enum (0) | 2025.10.27 |
| 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 |