본문 바로가기
프로그래밍 언어/C++

C++ 연산자 우선 순위

by Jo_Wick 2025. 9. 21.
반응형

연산자 우선 순위 표

우선순위 (높음→낮음) 연산자 결합 방향 설명
1 (), [], ., -> 왼→오 함수 호출, 배열첨자, 멤버 접근
2 ++ -- (후위), 형변환 (type), sizeof 왼→오 후위 증감, 타입 캐스트
3 ++ -- (전위), +(단항), -(단항), !, ~ 오른→왼 단항 연산자
4 *, /, % 왼→오 곱셈, 나눗셈, 나머지
5 +, - 왼→오 덧셈, 뺄셈
6 <<, >> 왼→오 비트 시프트
7 <, <=, >, >= 왼→오 관계 연산자
8 ==, != 왼→오 같음, 다름
9 & 왼→오 비트 AND
10 ^ 왼→오 비트 XOR
11 | 왼→오 비트 OR
12 && 왼→오 논리 AND
13 || 왼→오 논리 OR
14 ?: 오른→왼 삼항 연산자
15 =, +=, -=, *=, /=, 등 오른→왼 대입, 복합 대입
16  , 왼→오 콤마(순차 평가)

 

결합 방향

결합 방향은 우선 순위가 같은 연산자가 여러개 나열되었을 때, 어느 쪽부터 계산할지를 정하는 규칙

 

1. 왼쪽 -> 오른쪽

대부분의 이항 연산자 (+, -, *, /, <, >, &&, ||, …) 

int x = 10 - 3 - 2;

 

  • 10 - 3 먼저 → 7 - 2 → 5
  • (왼쪽부터 차례대로 계산)


2. 오른쪽 -> 왼쪽

대입 연산자 (=, +=, -= 등) / 단항 연산자 (++x, --x, !, ~, (type) 캐스트 등) / 삼항 연산자 (?:)

int a, b, c;
a = b = c = 5;
  • 오른쪽부터 계산됨
  • c = 5 → b = 5 → a = 5

 

반응형

댓글