1.3.11 연산자 우선순위
표 1-8에 연산자 우선순위를 간략하게 정리했다. 우리는 표를 간결하게 만들기 위해 타입과 표현식의 표기법을 결합하고(예를 들어 typeid) new와 delete의 서로 다른 표기법을 합쳤다. @= 기호는 +=, -= 등과 같은 모든 할당 연산자들을 나타낸다. 문법이 포함된 연산자 우선순위의 보다 상세한 요약은 부록 C, 표 C-1에 나와 있다.
▼ 표 1-8 연산자 우선순위
연산자 우선순위 |
|||
class::member |
nspace::member |
::name |
::qualified-name |
object.member type(expr list) *_cast<type>(expr) |
pointer->member lvalue++ |
expr[expr] lvalue-- |
expr(expr list) typeid(type/expr) |
sizeof expr ++lvalue -expr new ... type... |
sizeof(type) --lvalue +expr delete [] opt pointer |
sizeof...(pack) ∼expr &lvalue (type) expr |
alignof(type/expr) !expr *expr |
object.*member ptr |
pointer->*member ptr |
|
|
expr * expr |
expr / expr |
expr % expr |
|
expr + expr |
expr - expr |
|
|
expr << expr |
expr >> expr |
|
|
expr < expr |
expr <= expr |
expr > expr |
expr >= expr |
expr == expr |
expr != expr |
|
|
expr & expr |
|
|
|
expr ^ expr |
|
|
|
expr | expr |
|
|
|
expr && expr |
|
|
|
expr || expr |
|
|
|
expr ? expr: expr |
|
|
|
lvalue = expr |
lvalue @= expr |
|
|
throw expr |
|
|
|
expr , expr |
|
|
|