表 5.4. 操作符的優先級

Associativity
and Operator

操作符及其結合性

Function

功能

Use

用法

See
Page

參見頁碼

L

::

global scope(全局作用域)

:: name

p. 450

L

::

class scope(類作用域)

class :: name

p. 85

L

::

namespace scope(名字空間作用域)

namespace :: name

p. 78

L

.

member selectors(成員選擇)

object . member

p. 25

L

->

member selectors(成員選擇)

pointer -> member

p. 164

L

[]

subscript(下標)

variable [ expr ]

p. 113

L

()

function call(函數調用)

name (expr_list)

p. 25

L

()

type construction(類型構造)

type (expr_list)

p. 460

R

++

postfix increment(后自增操作)

lvalue++

p. 162

R

--

postfix decrement(后自減操作)

lvalue--

p. 162

R

typeid

type ID(類型 ID)

typeid (type)

p. 775

R

typeid

run-time type ID(運行時類型 ID)

typeid (expr)

p. 775

R

explicit cast(顯式強制類型轉換)

type conversion(類型轉換)

cast_name <type>(expr)

p. 183

R

sizeof

size of object(對象的大小)

sizeof expr

p. 167

R

sizeof

size of type(類型的大小)

sizeof(type)

p. 167

R

++

prefix increment(前自增操作)

++ lvalue

p. 162

R

--

prefix decrement(前自減操作)

-- lvalue

p. 162

R

~

bitwise NOT(位求反)

~expr

p. 154

R

!

logical NOT(邏輯非)

!expr

p. 152

R

-

unary minus(一元負號)

-expr

p. 150

R

+

unary plus(一元正號)

+expr

p. 150

R

*

dereference(解引用)

*expr

p. 119

R

&

address-of(取地址)

&expr

p. 115

R

()

type conversion(類型轉換)

(type) expr

p. 186

R

new

allocate object(創建對象)

new type

p. 174

R

delete

deallocate object(釋放對象)

delete expr

p. 176

R

delete[]

deallocate array(釋放數組)

delete[] expr

p. 137

L

->*

ptr to member select(指向成員操作的指針)

ptr ->* ptr_to_member

p. 783

L

.*

ptr to member select(指向成員操作的指針)

obj .*ptr_to_member

p. 783

L

*

multiply(乘法)

expr * expr

p. 149

L

/

divide(除法)

expr / expr

p. 149

L

%

modulo (remainder)(求模(求余))

expr % expr

p. 149

L

+

add(加法)

expr + expr

p. 149

L

-

subtract(減法)

expr - expr

p. 149

L

<<

bitwise shift left(位左移)

expr << expr

p. 154

L

>>

bitwise shift right(位右移)

expr >> expr

p. 154

L

<

less than(小于)

expr < expr

p. 152

L

<=

less than or equal(小于或等于)

expr <= expr

p. 152

L

>

greater than(大于)

expr > expr

p. 152

L

>=

greater than or equal(大于或等于)

expr >= expr

p. 152

L

==

equality(相等)

expr == expr

p. 152

L

!=

inequality(不等)

expr != expr

p. 152

L

&

bitwise AND(位與)

expr & expr

p. 154

L

^

bitwise XOR()

expr ^ expr

p. 154

L

|

bitwise OR(位異或)

expr | expr

p. 154

L

&&

logical AND(邏輯與)

expr && expr

p. 152

L

||

logical OR(邏輯或)

expr || expr

p. 152

R

?:

conditional(條件操作)

expr ? expr : expr

p. 165

R

=

assignment(賦值操作)

lvalue = expr

p. 159

R

*=, /=, %=,

compound assign(復合賦值操作)

lvalue += expr, etc.

p. 159

R

+=, -=,

   

p. 159

R

<<=, >>=,

   

p. 159

R

&=,|=, ^=

   

p. 159

R

throw

throw exception(拋出異常)

throw expr

p. 216

L

,

comma(逗號)

expr , expr

p. 168

來自《C++ Primer,Fourth Edition》