sizeof 연산자
sizeof 연산자는 변수, 타입의 크기를 돌려주는 연산자이다. 반환하는 숫자는 Byte단위다. 아래와 같이 사용한다.
float a = 3.14f;
cout << sizeof(float) << endl; // result : 4
cout << sizeof(a) << endl; // result : 4
cout << sizeof a << endl; // result : 4, sizeof float과 같이 사용할 수는 없음
,(콤마) 연산자
콤마 연산자는 두 개의 표현식을 하나로 묶는 역할을 한다. 아래와 같이 표현식 여러개를 콤마로 묶을 경우 결과는 어떻게 될까?
int x = 3;
int y = 10;
int z = (++x, ++y, ++y, ++y);
cout << x << " " << y << " " << z << endl;

가장 마지막의 ++y 연산자의 결과가 z에 저장된 것을 알 수 있다.
표현식을 한 줄에 간결하게 쓸 수 있다는 장점이 있지만 일반적으로 잘 쓰이는 문법은 아니다. 다만 for 반복문에서는 유용하게 쓰일 수 있다.
참고로 선언에서 사용된 콤마는 콤마 연산자와는 별도의 의미다. 구분해주는 기호의 의미밖에 없다.
int x = 3, y = 10; // 연산자가 아니라 구분 기호
이와 유사한 사례가 함수의 패러미터다. 함수 패러미터에 들어간 콤마는 구분 기호로만 사용된다.
int sum(int x, int y) // 연산자가 아니라 구분 기호
참고로 콤마 연산자의 우선 순위는 대입 연산자보다 낮기 때문에 대입 연산자와 콤마 연산자를 함께 쓸 경우 무조건 대입이 먼저 적용된다. 콤마 연산자를 먼저 적용하고 싶다면 괄호로 묶어 우선순위를 바꿔야 한다.
int x = 3, y = 10;
int z;
z = x, y; // 대입이 먼저 수행되기 때문에 x의 값으로 초기화 됨
z = (x, y); // 괄호로 감싸야 y값이 z에 대입 됨
'C++ 학습' 카테고리의 다른 글
| [C++] 정적 변수 (0) | 2023.10.03 |
|---|---|
| [C++] 스코프 (1) | 2023.10.03 |
| [C++] 심볼릭 상수 (0) | 2023.09.28 |
| [C++] 캐스팅 (0) | 2023.09.28 |
| [C++] 네임스페이스 (0) | 2023.09.26 |