操作符的優先順序

2022-05-28 10:09:14 字數 3373 閱讀 6965

associativity and operator

操作符及其結合性

function

功能

use用法

l ::

global scope(全域性作用域)

:: name

l ::

class scope(類作用域)

class :: name

l ::

namespace scope(名字空間作用域)

namespace :: name

l .

member selectors(成員選擇)

object . member

l ->

member selectors(成員選擇)

pointer -> member

l

subscript(下標)

variable [ expr ]

l ()

function call(函式呼叫)

name (expr_list)

l ()

type construction(型別構造)

type (expr_list)

r ++

postfix increment(後自增操作)

lvalue++

r --

postfix decrement(後自減操作)

lvalue--

r typeid

type id(型別 id)

typeid (type)

r typeid

run-time type id(執行時型別 id)

typeid (expr)

r explicit cast

(顯式強制型別轉換)

type conversion(型別轉換)

cast_name

(expr)

r sizeof

size of object(物件的大小)

sizeof expr

r sizeof

size of type(型別的大小)

sizeof(type)

r ++

prefix increment(前自增操作)

++ lvalue

r --

prefix decrement(前自減操作)

-- lvalue

r ~

bitwise not(位求反)

~expr

r !

logical not(邏輯非)

!expr

r -

unary minus(一元負號)

-expr

r +

unary plus(一元正號)

+expr

r *

dereference(解引用)

*expr

r &

address-of(取位址)

&expr

r ()

type conversion(型別轉換)

(type) expr

r new

allocate object(建立物件)

new type

r delete

deallocate object(釋放物件)

delete expr

r delete

deallocate array(釋放陣列)

delete expr

l ->*

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

ptr ->* ptr_to_member

l .*

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

obj .*ptr_to_member

l *

multiply(乘法)

expr * expr

l /

divide(除法)

expr / expr

l %

modulo (remainder)(求模(求餘))

expr % expr

l +

add(加法)

expr + expr

l -

subtract(減法)

expr - expr

l <<

bitwise shift left(位左移)

expr << expr

l >>

bitwise shift right(位右移)

expr >> expr

l <

less than(小於)

expr < expr

l <=

less than or equal(小於或等於)

expr <= expr

l >

greater than(大於)

expr > expr

l >=

greater than or equal(大於或等於)

expr >= expr

l ==

equality(相等)

expr == expr

l !=

inequality(不等)

expr != expr

l &

bitwise and(位與)

expr & expr

l ^

bitwise xor()

expr ^ expr

l |

bitwise or(位異或)

expr | expr

l &&

logical and(邏輯與)

expr && expr

l ||

logical or(邏輯或)

expr || expr

r ?:

conditional(條件操作)

expr ? expr : expr

r =

assignment(賦值操作)

lvalue = expr

r *=, /=, %=,

compound assign(復合賦

值操作)

lvalue += expr, etc.

r +=, -=,

r

<<=, >>=,

r

&=,|=, ^=

r

throw

throw exception(丟擲異

常)

throw expr

l ,

comma(逗號)

expr , expr

操作符優先順序

操作符優先順序 優先順序運算子 名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式 右到左單目 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數...

操作符優先順序

優先順序 運算子含 義 要求運算 物件的個數 結合方向1 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 自左至右2 邏輯非運算子 1 單目運算子 自右至左 按位取反運算子 自增運算子 自減運算子 負號運算子 型別 型別轉換運算子 指標運算子 位址與運算子 sizeof 長度運算子 3 ...

操作符優先順序

python 表示式語句中操作符的優先順序從最低優先順序 最後繫結 到最高優先順序 最先繫結 如下 乙個表示式語句中可以有多個上述操作符,最終返回乙個值 包括返回值為 none 的函式呼叫 而賦值語句中的賦值操作符 在操作符中優先順序最低,它右邊表示式的值計算完之後,才最後繫結到左邊的名稱。舉例如下...