C++ 언어는 모든 C 연산자를 포함하며 몇 가지 새로운 연산자를 추가합니다. 연산자는 둘 이상의 피연산자에 대해 수행할 평가를 지정합니다.
우선 순위 및 결합성
연산 자 우선 순위 는 둘 이상의 연산자를 포함하는 식의 연산 순서를 지정합니다. 연산 자 연결성은 우선 순위가 같은 여러 연산자를 포함하는 식에서 피연산자가 왼쪽에 있는 피연산자 또는 오른쪽에 있는 연산자를 사용하여 그룹화되는지 여부를 지정합니다.
대체 맞춤법
C++는 일부 연산자용 대체 맞춤법을 지정합니다. C에서 대체 맞춤법은 <iso646.h> 헤더에 매크로로 제공됩니다. C++에서 이러한 대안은 키워드이며 iso646.h< 또는 C++ 동등한 >ciso646<의 사용>은 더 이상 사용되지 않습니다. Microsoft C++ /permissive-/Za 에서는 대체 맞춤법을 사용하도록 설정하려면 컴파일러 옵션이 필요합니다.
C++ 연산자 우선 순위 및 결합성 테이블
다음 표에서는 C++ 연산자의 우선 순위와 결합성을 내림차순으로 보여 줍니다. 우선 순위 번호가 같은 연산자는 괄호를 사용하여 다른 관계를 명시적으로 강제하지 않는 한 우선 순위가 같습니다.
| 연산자 설명 | 연산자 | 대체 |
|---|---|---|
| 그룹 1 우선 순위, 결합성 없음 | ||
| 범위 확인 | :: |
|
| 그룹 2 우선 순위(왼쪽에서 오른쪽 연결성) | ||
| 멤버 선택(개체 또는 포인터) |
. 또는 -> |
|
| 배열 아래 첨자 | [] |
|
| 함수 호출 | () |
|
| 후위 증가 | ++ |
|
| 후위 감소 | -- |
|
| 형식 이름 | typeid |
|
| 상수 형식 변환 | const_cast |
|
| 동적 형식 변환 | dynamic_cast |
|
| 재해석된 형식 변환 | reinterpret_cast |
|
| 정적 형식 변환 | static_cast |
|
| 그룹 3 우선 순위, 오른쪽에서 왼쪽 연결 | ||
| 개체 또는 형식의 크기 | sizeof |
|
| 접두사 증가 | ++ |
|
| 접두사 감소 | -- |
|
| 하나의 보수 | ~ |
compl |
| 논리하지 않음 | ! |
not |
| 단항 부정 | - |
|
| 단항 더하기 | + |
|
| 주소-of | & |
|
| 간접 참조 | * |
|
| 개체 만들기 | new |
|
| 개체 삭제 | delete |
|
| 캐스트 | () |
|
| 그룹 4 우선 순위(왼쪽에서 오른쪽 연결성) | ||
| 멤버에 대한 포인터(개체 또는 포인터) |
.* 또는 ->* |
|
| 그룹 5 우선 순위(왼쪽에서 오른쪽 연결성) | ||
| 곱하기 | * |
|
| 나누기 | / |
|
| 계수 | % |
|
| 그룹 6 우선 순위(왼쪽에서 오른쪽 결합성) | ||
| 더하기 | + |
|
| 빼기 | - |
|
| 그룹 7 우선 순위( 왼쪽에서 오른쪽 결합성) | ||
| 왼쪽 시프트 | << |
|
| 오른쪽 시프트 | >> |
|
| 그룹 8 우선 순위(왼쪽에서 오른쪽 연결성) | ||
| 보다 작음 | < |
|
| 보다 큼 | > |
|
| 작거나 같음 | <= |
|
| 크거나 같음 | >= |
|
| 그룹 9 우선 순위(왼쪽에서 오른쪽 연결성) | ||
| 등호 | == |
|
| 같지 않음 | != |
not_eq |
| 그룹 10 우선 순위 왼쪽에서 오른쪽 결합성 | ||
| 비트 AND | & |
bitand |
| 그룹 11 우선 순위(왼쪽에서 오른쪽 연결성) | ||
| 비트 배타적 OR | ^ |
xor |
| 그룹 12 우선 순위(왼쪽에서 오른쪽 결합성) | ||
| 비트 포함 OR | | |
bitor |
| 그룹 13 우선 순위(왼쪽에서 오른쪽 결합성) | ||
| 논리적 AND | && |
and |
| 그룹 14 우선 순위(왼쪽에서 오른쪽 연결성) | ||
| 논리적 OR | || |
or |
| 그룹 15 우선 순위, 오른쪽에서 왼쪽 결합성 | ||
| 조건부 | ? : |
|
| 양도 | = |
|
| 곱하기 할당 | *= |
|
| 나누기 배정 | /= |
|
| 모듈러스 할당 | %= |
|
| 추가 할당 | += |
|
| 빼기 할당 | -= |
|
| 왼쪽 시프트 할당 | <<= |
|
| 오른쪽 시프트 할당 | >>= |
|
| 비트 AND 할당 | &= |
and_eq |
| 비트 포함 OR 할당 | |= |
or_eq |
| 비트 배타적 OR 할당 | ^= |
xor_eq |
| throw 식 | throw |
|
| 그룹 16 우선 순위(왼쪽에서 오른쪽 결합성) | ||
| Comma | , |