연산자 우선 순위 및 결합성

C + + 언어는 모든 C 연산자를 포함 하 고 몇 가지 새로운 연산자를 추가 합니다.다음 중 하나를 수행 하는 계산 연산자를 지정 합니다.

  • 한 피연산자 (단항 연산자)

  • 두 피연산자 (이진 연산자)

  • 세 개의 피연산자 (삼항 연산자)

운영자는 이러한 연산자를 포함 하는 식의 평가 순서를 정의 하는 엄격한 우선 순위를 따릅니다.연산자 왼쪽에 있는 식 또는 식의 오른쪽에 연결 됩니다. 이 "연관성" 라고 다음 표에서 우선 순위와 결합성 (높은 것부터 가장 낮은 우선 순위) C++ 연산자를 보여 줍니다.테이블의 동일한 세그먼트에 연산자는 우선 순위가 같습니다 및 괄호를 명시적으로 강제 하지 않는 식에 지정 된 순서 대로 평가 됩니다.

C + + 연산자 우선 순위 및 결합성

Operator

이름이 나 의미

결합성

::

범위 결정

없음

 

 

 

.

구성원 선택 (개체)

왼쪽에서 오른쪽

–>

구성원 선택 (포인터)

왼쪽에서 오른쪽

[ ]

배열 아래 첨자

왼쪽에서 오른쪽

( )

함수 호출 멤버 초기화

왼쪽에서 오른쪽

++

후위 증가

왼쪽에서 오른쪽

––

후위 감소

왼쪽에서 오른쪽

typeid( )

형식 이름

왼쪽에서 오른쪽

const_cast

형식 캐스팅 (변환)

왼쪽에서 오른쪽

dynamic_cast

형식 캐스팅 (변환)

왼쪽에서 오른쪽

reinterpret_cast

형식 캐스팅 (변환)

왼쪽에서 오른쪽

static_cast

형식 캐스팅 (변환)

왼쪽에서 오른쪽

 

 

 

sizeof

개체 또는 형식 크기

오른쪽에서 왼쪽

++

전위 증가

오른쪽에서 왼쪽

––

전위 감소

오른쪽에서 왼쪽

~

1의 보수

오른쪽에서 왼쪽

!

논리적 not

오른쪽에서 왼쪽

단항 마이너스

오른쪽에서 왼쪽

+

단항 더하기

오른쪽에서 왼쪽

&

주소를

오른쪽에서 왼쪽

*

간접 참조

오른쪽에서 왼쪽

new

개체 만들기

오른쪽에서 왼쪽

delete

개체 파괴

오른쪽에서 왼쪽

( )

Cast

오른쪽에서 왼쪽

 

 

 

.*

포인터 멤버 (개체)

왼쪽에서 오른쪽

–>*

포인터 멤버 (포인터)

왼쪽에서 오른쪽

 

 

 

*

곱하기

왼쪽에서 오른쪽

/

나누기

왼쪽에서 오른쪽

%

나머지 연산자

왼쪽에서 오른쪽

 

 

 

+

추가

왼쪽에서 오른쪽

빼기

왼쪽에서 오른쪽

 

 

 

<<

왼쪽 <Shift>

왼쪽에서 오른쪽

>>

오른쪽 Shift

왼쪽에서 오른쪽

 

 

 

<

보다 작음

왼쪽에서 오른쪽

>

보다 큼

왼쪽에서 오른쪽

<=

작거나 같음

왼쪽에서 오른쪽

>=

크거나 같음

왼쪽에서 오른쪽

 

 

 

==

같음

왼쪽에서 오른쪽

!=

같지 않음

왼쪽에서 오른쪽

 

 

 

&

비트 AND

왼쪽에서 오른쪽

 

 

 

^

배타적 비트 OR

왼쪽에서 오른쪽

 

 

 

|

포함 비트 OR

왼쪽에서 오른쪽

 

 

 

&&

논리곱

왼쪽에서 오른쪽

 

 

 

||

논리합

왼쪽에서 오른쪽

 

 

 

expr1 ? expr2 : expr3

조건

오른쪽에서 왼쪽

 

 

 

=

할당 연산

오른쪽에서 왼쪽

*=

곱하기 할당

오른쪽에서 왼쪽

/=

나누기 할당

오른쪽에서 왼쪽

%=

나누기 할당

오른쪽에서 왼쪽

+=

더하기 할당

오른쪽에서 왼쪽

–=

빼기 할당

오른쪽에서 왼쪽

<<=

왼쪽 시프트 할당

오른쪽에서 왼쪽

>>=

오른쪽 시프트 할당

오른쪽에서 왼쪽

&=

비트 AND 할당

오른쪽에서 왼쪽

|=

비트 OR 할당 (포함)

오른쪽에서 왼쪽

^=

비트 배타적 OR 할당

오른쪽에서 왼쪽

 

 

 

throw expr 인수

throw 식

오른쪽에서 왼쪽

 

 

 

,

쉼표

왼쪽에서 오른쪽

참고 항목

참조

C + + 연산자

연산자 오버로드