下表按照優先順序順序列出了c++的全部操作符。該錶以兩種顏色分割成不同的段,每段內各個操作符的優先順序相同,且都高於後面各段中的操作符。
運算子優先順序
結合律
運算子
功能
用法
說明l::
全域性作用域
::namel::
類作用域
class::namel::
命名空間作用域
namespace::namel.
成員選擇
object.member
l->
成員選擇
pointer->member l
下標variable[expr] l()
函式呼叫
name(expr_list) l()
型別構造
type(expr_list)r++
後自增操作
lvalue++ r--
後自減操作
lvalue--
rtypeid
型別id
typeid(type)
rtypeid
執行時型別id
typeid(expr)
rexplicit cast
型別轉換
cast_name(expr)
rsizeof
物件的大小
sizeof expr
rsizeof
型別的大小
sizeof(type)
rsizeof...
引數包的大小
sizeof...(name)r++
前自增操作
++lvaluer--
前自減操作
--lvaluer~
位求反~exprr!
邏輯非!exprr-
一元負號
-exprr+
一元正號
+exprr*
解引用*exprr&
取位址&exprr()
型別轉換
(type)expr
rnew
建立物件
new type
rdelete
釋放物件
delete type
rdelete
釋放陣列
deleteexpr
rnoexcept
能否丟擲異常
noexcept(expr)
l->*
指向成員操作的指標
ptr->*ptr_to_memberl.*
指向成員操作的指標
obj.*ptr_to_memberl*
乘法expr * exprl/
除法expr / exprl%
求模(求餘)
expr % exprl+
加法expr + exprl-
減法expr - expr
l<<
向左移位
expr << expr
l>>
向右移位
expr >> expr
l<
小於expr < expr
l<=
小於等於
expr <= expr
l>
大於expr > expr
l>=
大於等於
expr >= exprl==
相等expr == exprl!=
不相等expr != exprl&
位與expr & exprl^
位異或expr ^ exprl|
位或expr | exprl&&
邏輯與expr && exprl||
邏輯或expr || expr
r? :
條件expr ? expr : exprr=
賦值lvalue = expr
r*=, /=, %=
復合賦值
lvalue += expr end so on
r+=, -=
r<<=, >>=
r&=, |=, ^=
rthrow
丟擲異常
throw exprl,
逗號 expr, expr
cast-name是static_cast、dynamic_cast、const_cast和reinterpret_cast中的一種。dynamic_cast支援執行時型別識別。
運算子優先順序 C 運算子優先順序
c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...
運算子優先順序 Python 運算子優先順序
python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...
運算子優先順序 PHP運算子優先順序
php運算子優先順序 結合方向 運算子附加資訊 非結合clone new clone 和 new左 array 非結合 遞增 遞減運算子 非結合 int float string array object bool 型別非結合 instanceof 型別右結合 邏輯操作符 左 算術運算子 左 算術運...