본문 바로가기
개발/C++

C++ 연산자의 우선순위표

by MNMNMNMN 2020. 11. 19.
728x90

C++ 연산자의 우선순위표

우선순위 연산자 설명 결합 방향
1 :: 범위 지정 연산자 -
2 ++ 후위 증가 연산자 왼쪽에서 오른쪽으로
  -- 후위 감소 연산자 왼쪽에서 오른쪽으로
  () 함수 호출 왼쪽에서 오른쪽으로
  [] 첨자 연산자 왼쪽에서 오른쪽으로
  . 멤버 연산자 왼쪽에서 오른쪽으로
  -> 멤버 접근 연산자 왼쪽에서 오른쪽으로
  typeid 타입 인식 왼쪽에서 오른쪽으로
  const_cast 상수 타입 변환 왼쪽에서 오른쪽으로
  dynamic_cast 동적 타입 변환 왼쪽에서 오른쪽으로
  reinterpret_cast 재해석 타입 변환 왼쪽에서 오른쪽으로
  static_cast 정적 타입 변환 왼쪽에서 오른쪽으로
3 ! 논리 NOT 연산자 오른쪽에서 왼쪽으로
  ~ 비트 NOT 연산자 오른쪽에서 왼쪽으로
  + 양의 부호 (단항 연산자) 오른쪽에서 왼쪽으로
  - 음의 부호 (단항 연산자) 오른쪽에서 왼쪽으로
  ++ 전위 증가 연산자 오른쪽에서 왼쪽으로
  -- 전위 감소 연산자 오른쪽에서 왼쪽으로
  (타입) 타입 캐스트 연산자 오른쪽에서 왼쪽으로
  * 참조 연산자 (단항 연산자) 오른쪽에서 왼쪽으로
  & 주소 연산자 (단항 연산자) 오른쪽에서 왼쪽으로
  sizeof 크기 연산자 오른쪽에서 왼쪽으로
  new 객체 생성 오른쪽에서 왼쪽으로
  delete 객체 제거 오른쪽에서 왼쪽으로
4 .* 멤버 포인터 연산자 왼쪽에서 오른쪽으로
  ->* 참조 멤버 포인터 연산자 왼쪽에서 오른쪽으로
5 * 곱셈 연산자 왼쪽에서 오른쪽으로
  / 나눗셈 연산자 왼쪽에서 오른쪽으로
  % 나머지 연산자 왼쪽에서 오른쪽으로
6 + 덧셈 연산자 (이항 연산자) 왼쪽에서 오른쪽으로
  - 뺄셈 연산자 (이항 연산자) 왼쪽에서 오른쪽으로
7 << 비트 왼쪽 시프트 연산자 왼쪽에서 오른쪽으로
  >> 부호 비트를 확장하면서 비트 오른쪽 시프트 왼쪽에서 오른쪽으로
8 < 관계 연산자(보다 작은) 왼쪽에서 오른쪽으로
  <= 관계 연산자(보다 작거나 같은) 왼쪽에서 오른쪽으로
  > 관계 연산자(보다 큰) 왼쪽에서 오른쪽으로
  >= 관계 연산자(보다 크거나 같은) 왼쪽에서 오른쪽으로
9 == 관계 연산자(와 같은) 왼쪽에서 오른쪽으로
  != 관계 연산자(와 같지 않은) 왼쪽에서 오른쪽으로
10 & 비트 AND 연산자 왼쪽에서 오른쪽으로
11 ^ 비트 XOR 연산자 왼쪽에서 오른쪽으로
12 | 비트 OR 연산자 왼쪽에서 오른쪽으로
13 && 논리 AND 연산자 왼쪽에서 오른쪽으로
14 || 논리 OR 연산자 왼쪽에서 오른쪽으로
15 ? : 삼항 조건 연산자 오른쪽에서 왼쪽으로
16 =

대입 연산자 및 복합 대입 연산자

(=, +=, -=, *=, /=, %=, <<=, >>=, &=, ^=, |=)

오른쪽에서 왼쪽으로
17 throw 예외 발생 왼쪽에서 오른쪽으로
18 , 쉼표 연산자 왼쪽에서 오른쪽으로

 

위의 표에서 나온 순서대로 우선순위가 빠른 연산자가 가장 먼저 실행됩니다.

또한, 같은 우선순위를 가지는 연산자가 둘 이상 있을 때에는 결합 순서에 따라 실행 순서가 결정됩니다.

 

[출처]www.tcpschool.com/cpp/cpp_operator_arithmetic

728x90
반응형

'개발 > C++' 카테고리의 다른 글

스택을 이용하여 큐 만들기  (0) 2020.12.08
큐를 이용하여 스택만들기  (0) 2020.12.08

댓글