* 개인적인 공부 기록용으로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다.
쉼표
-1 분리자 (Seperator)
-2 콤마 연산자 (Comma Operator)
-3 콤마 연산자의 우선순위
-4 사용예제
C++에서의 쉼표(,)는 다양한 기능을 수행한다.
-1 분리자 (Seperator)
첫 번째로 우리에게 가장 익숙한 분리자(Seperator) 기능이 있다.
int a , b;
분리자는 말 그대로 변수의 선언을 구분해 준다. 예를 들어 위와 같이 변수의 선언부에 분리자를 사용하면 한줄에 변수 a와 b를 메모리 공간에 할당할 수 있다.
-2 콤마 연산자 (Comma Operator)
다음으로 쉼표(,)는 콤마 연산자 (Comma Operator) 기능을 수행한다.
콤마 연산자란 두가지 표현식을 동시에 표현하도록 도와주는 연산자이다.
콤마 연산자는 첫 번째 표현식을 평가한 후 다음 표현식을 차례로 평가한다. 따라서 다음 코드를 실행시켜 보면 변수 a에는 20이 할당된다.
int a = (10 , 20);
-3 콤마 연산자의 우선순위
단, 콤마 연산자를 사용할 때 주의해야 할 점이 있다. 바로 콤마 연산자는 우선순위가 가장 낮은 연산자라는 것이다.
따라서 다음 식과 같이 괄호를 지워버리면, 콤마 연산자보다 대입 연산자 (=) 의 연산자 우선순위가 더 높아서 컴파일러는 다음과 같이 해석한다.
int a = 10 , 20;
(int a = 10) , 20;
-4 사용예제
콤마 연산자는 for 반복문에서 유용하게 사용된다. 다음과 같이 콤마 연산자를 이용하면 두개의 표현식 (x++ , y++)를 하나로 묶어줄 수 있다.
for (int x = 0, y = 0 ; x < 10 ; x++, y++) {
...
}
아래 코드에서 앞의 콤마는 Sepertor(분리자) 이고, 뒤의 콤마는 Comma Operator(콤마 연산자) 이다.
'Archive > C&C++' 카테고리의 다른 글
[C/C++] Array 배열을 함수의 매개변수로 사용 시 주의점 (0) | 2022.01.06 |
---|---|
[C++] 모호성(Ambiguity) _ Using (0) | 2022.01.04 |
[C++] 상수 _ 리터럴 상수 (literal Constants ) & 심볼릭 상수 (Symbolic Constants) (0) | 2021.12.28 |
[C++ STL] string.replace() - 문자열 치환 함수 (0) | 2021.12.26 |
[C++ STL] string.find() - 문자열에서 원하는 문자열을 탐색한다. (0) | 2021.12.25 |