C++操作符的優先順序

來源:互聯網
上載者:User

C++操作符的優先順序

操作符及其結合性

功能

用法

L
L
L
::
::
::
全域範圍
類範圍
名字空間範圍
::name
class::name
namespace::name
L
L
L
L
L
.
->
[]
()
()
成員選擇
成員選擇
下標
函數調用
類型構造
object.member
pointer->member
variable[expr]
name(expr_list)
type(expr_list)
R
R
R
R
R
++
--
typeid
typeid
顯示強制類型轉換
後自增操作
後自減操作
類型ID
運行時類型ID
類型轉換
lvalue++
lvalue--
typeid(type)
typeid(expr)
cast_name<type>(expr)
R
R
R
R
R
R
R
R
R
R
R
R
R
R
sizeof
sizeof
++
--
~
!
-
+
*
&
()
new
delete
delete[]
對象的大小
類型的大小
前自增操作
前自減操作
位求反
邏輯非
一元負號
一元正號
解引用
取地址
類型轉換
建立對象
釋放對象
釋放數組
sizeof expr
sizeof(type)
++lvalue
--lvalue
~expr
!expr
-expr
+expr
*expr
&expr
(type)expr
new type
delete expr
delete []expr
L
L
->*
.*
指向成員操作的指標
指向成員操作的指標
ptr->*ptr_to_member
obj.*ptr_to_member
L
L
L
*
/
%
乘法
除法
求模(求餘)
expr * expr
expr / expr
expr % expr
L
L
+
-
加法
減法
expr + expr
expr - expr
L
L
<<
>>
位左移
位右移
expr << expr
expr >> expr
L
L
L
L
<
<=
>
>=
小於
小於或等於
大於
大於或等於
expr < expr
expr <= expr
expr > expr
expr >= expr
L
R
==
!=
相等
不等
Expr == expr
Expr != expr
R & 位與 Expr & expr
R ^ 位異或 Expr ^ expr
R | 位或 Expr | expr
R && 邏輯與 Expr && expr
R || 邏輯或 Expr || expr
R ?: 條件操作 Expr ? expr : expr
R
R
R
R
R
=
*=,/=,%=
+=,-=
<<=,>>=
&=,|=,^=
賦值操作
符合賦值操作

Lvalue= expr
Lvalue+= expr
……

R throw 拋出異常 Throw expr
L , 逗號 Expr, expr
記憶方法:--摘自《C語言程式設計實用問答》     -呂鳳翥     呂     濤著   
    問題:如何記住運算子的15種優先順序和結合性?   
    解答:C語言中運算子種類比較繁多,優先順序有15種,結合性有兩種。   
    如何記憶兩種結合性和15種優先順序?下面講述一種記憶方法。   
    結合性有兩種,一種是自左至右,另一種是自右至左,大部分運算子的結合性是自左至右,只有單目運算子、三目運算子的賦值運算子的結合性自右至左。   
    優先順序有15種。記憶方法如下:   
    記住一個最高的:構造類型的元素或成員以及小括弧。   
    記住一個最低的:逗號運算子。   
    剩餘的是一、二、三、賦值。   
    意思是單目、雙目、三目和賦值運算子。   
    在諸多運算子中,又分為:   
    算術、關係、邏輯。   
    兩種位操作運算子中,移位元運算符在算術運算子後邊,邏輯位元運算符在邏輯運算子的前面。再細分如下:   
    算術運算子分     *,/,%高於+,-。   
    關係運算子中,》,》=,《,〈=高於==,!=。   
    邏輯運算子中,除了邏輯求反(!)是單目外,邏輯與(&&)高於邏輯或(||)。   
    邏輯位元運算符中,除了邏輯按位求反(~)外,按位與(&)高於按位半加(^),高於按位或(|)。   
    這樣就將15種優先順序都記住了,再將記憶方法總結如下:   
    去掉一個最高的,去掉一個最低的,剩下的是一、二、三、賦值。雙目運算子中,順序為算術、關係和邏輯,移位和邏輯位插入其中。   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.