본 게시글은 C++ 기초 플러스 책을 읽고 제가 필요할때마다 직접 읽어보려고 매우 대충 정리한 글입니다. (진짜 개인공부용 글임) 따라서 다른 분들이 읽으려면 읽기 어려울 수 있음 주의 ㅎㅎ
콤마 연산자는 두 개의 표현식을 하나로 결합할 수 있다.
++i, ++j; //이렇게 사용하면 한의 표현식으로 간주된다.
선언에서 콤마 연산자를 사용하면 연산자로 인식되는 것이 아닌 분리자로 인식된다.
int i, j; //이렇게 사용하면 i와 j를 둘 다 선언한 것이다.
for문에서의 사용을 알아보자.
int main()
{
int i, j; //선언만 하고 초기화는 안했다
string word;
cin >> word;
for(j = 0, i = word.size()-1; j < i; --i, ++j)
{
//어쩌구 구문
}
return 0;
}
위 코드는 int형 i와 j를 선언하고, for문 내에서 둘 다 초기화와 증감식을 사용해주었다.
즉, for문 내에서도 , 를 이용하여 한번에 여러개를 초기화하고 증감시킬 수 있다.
이 예제에서 우리가 주목할 점은 변수가 선언되어 있는 위치이다. 변수 i와 j를 루프 앞에다 선언한 이유는 루프의 초기화 부분에서는 두 선언을 콤마로 결합할 수 없기 때문이다.
결합할 수 없는 이유는 변수 리스트에 있는 변수 이름 i와 j의 분리 목적으로 콤마를 이미 사용하고 있기 때문이다.
(책에 이렇게 써있었다)
라곤 하는데 반복문 내에서 분리자로 선언하면 되는거 아닌가? 무슨 말인지 모르겠어서 그냥 직접 실행시켜봤다.
? ㅋㅋ 된다.
뭐가 안된다는거지? 밖에서 콤마를 통해 선언을 하면 반복문 내에서는 콤마를 통해 초기화할 수 없다는 말인건가? 싶어서 그렇게도 해봤다
된다.
책에서 뭘 말하려고 한건지 모르겠다..
아시는 분은 댓글로 알려주세여....
'프로그래밍 > C++' 카테고리의 다른 글
[정리] C++ 논리 표현식 (0) | 2022.12.03 |
---|---|
[정리] C++ 함수와 배열 (0) | 2022.12.02 |
[정리] C++ 증감연산자와 포인터 (0) | 2022.12.01 |
[정리] C++ 복합 데이터형 (0) | 2022.11.30 |
[정리] C++ 데이터 처리 (0) | 2022.11.30 |
댓글