C++ 運算符的優先級和關聯性表

C++ 運算符的優先級和關聯性表

  • 1. Precedence and associativity (優先級和結合性)
  • 2. Alternative spellings (替代拼寫)
  • 3. C++ operator precedence and associativity table (C++ 運算符的優先級和關聯性表)
  • References

C++ documentation (C++ 文檔)
https://learn.microsoft.com/en-us/cpp/cpp/
https://learn.microsoft.com/zh-cn/cpp/cpp/

C++ built-in operators, precedence, and associativity (C++ 內置運算符、優先級和關聯性)
https://learn.microsoft.com/en-us/cpp/cpp/cpp-built-in-operators-precedence-and-associativity
https://learn.microsoft.com/zh-cn/cpp/cpp/cpp-built-in-operators-precedence-and-associativity

The C++ language includes all C operators and adds several new operators. Operators specify an evaluation to be performed on one or more operands.
C++ 語言包括所有 C 運算符,并添加多個新的運算符。運算符指定對一個或多個操作數執行的計算。

1. Precedence and associativity (優先級和結合性)

Operator precedence specifies the order of operations in expressions that contain more than one operator. Operator associativity specifies whether, in an expression that contains multiple operators with the same precedence, an operand is grouped with the one on its left or the one on its right.
運算符優先級指定了包含多個運算符的表達式中的運算順序。運算符關聯性指定了在包含多個具有相同優先級的運算符的表達式中,操作數是與其左側還是右側的操作數組合。

precedence [?pres?d?ns]:n. 優先,優先權
associativity [?'s?????t?v?t?]:n. 可結合性,結合體,締合性

2. Alternative spellings (替代拼寫)

C++ specifies alternative spellings for some operators. In C, the alternative spellings are provided as macros in the <iso646.h> header. In C++, these alternatives are keywords, and use of <iso646.h> or the C++ equivalent <ciso646> is deprecated.
C++ 為某些運算符指定了替代拼寫。在 C 中,替代拼寫在 <iso646.h> 標頭中作為宏提供。在 C++ 中,這些替代項是關鍵字,<iso646.h> 或 C++ 等效的 <ciso646> 已棄用。

3. C++ operator precedence and associativity table (C++ 運算符的優先級和關聯性表)

The following table shows the precedence and associativity of C++ operators (from highest to lowest precedence). Operators with the same precedence number have equal precedence unless another relationship is explicitly forced by parentheses.
下表顯示 C++ 運算符的優先級和關聯性 (從最高優先級到最低優先級)。優先級別編號相同的運算符具有等同的優先級別,除非由括號顯式施加另一種關系。

Operator DescriptionOperatorAlternative (替代項)
Group 1 precedence, no associativity (第 1 組優先級,無關聯性)
Scope resolution (作用域解析運算符)::
Group 2 precedence, left to right associativity (第 2 組優先級,從左到右關聯)
Member selection (object or pointer). or ->
Array subscript (數組下標)[]
Function call (函數調用)()
Postfix increment (后綴遞增)++
Postfix decrement (后綴遞減)--
Type name (類型名稱)typeid
Constant type conversion (常量類型轉換)const_cast
Dynamic type conversion (動態類型轉換)dynamic_cast
Reinterpreted type conversion (重新解釋的類型轉換)reinterpret_cast
Static type conversion (靜態類型轉換)static_cast
Group 3 precedence, right to left associativity (第 3 組優先級,從右到左關聯)
Size of object or type (對象或類型的大小)sizeof
Prefix increment (前綴遞增)++
Prefix decrement (前綴遞減)--
One’s complement (二進制反碼)~compl
Logical not (邏輯“非”)!not
Unary negation (一元求反)-
Unary plus (一元加)+
Address-of&
Indirection (間接尋址)*
Create object (創建對象)new
Destroy object (銷毀對象)delete
Cast (強制轉換)()
Group 4 precedence, left to right associativity (第 4 組優先級,從左到右關聯)
Pointer-to-member (objects or pointers).* or ->*
Group 5 precedence, left to right associativity (第 5 組優先級,從左到右關聯)
Multiplication (乘法)*
Division (除法)/
Modulus (取模)%
Group 6 precedence, left to right associativity (第 6 組優先級,從左到右關聯)
Addition (加法)+
Subtraction (減法)-
Group 7 precedence, left to right associativity (第 7 組優先級,從左到右關聯)
Left shift ()<<
Right shift ()>>
Group 8 precedence, left to right associativity (第 8 組優先級,從左到右關聯)
Less than (小于)<
Greater than (大于)>
Less than or equal to (小于或等于)<=
Greater than or equal to (大于或等于)>=
Group 9 precedence, left to right associativity (第 9 組優先級,從左到右關聯)
Equality (等于)==
Inequality (不相等)!=not_eq
Group 10 precedence left to right associativity (第 10 組優先級,從左到右關聯)
Bitwise AND (按位“與”)&bitand
Group 11 precedence, left to right associativity (第 11 組優先級,從左到右關聯)
Bitwise exclusive OR (按位“異或”)^xor
Group 12 precedence, left to right associativity (第 12 組優先級,從左到右關聯)
Bitwise inclusive OR (按位“與或”)|bitor
Group 13 precedence, left to right associativity (第 13 組優先級,從左到右關聯)
Logical AND (邏輯與)&&and
Group 14 precedence, left to right associativity (第 14 組優先級,從左到右關聯)
Logical OR (邏輯或)||or
Group 15 precedence, right to left associativity (第 15 組優先級,從右到左關聯)
Conditional (條件)? :
Assignment=
Multiplication assignment (乘法賦值)*=
Division assignment (除法賦值)/=
Modulus assignment (取模賦值)%=
Addition assignment (加法賦值)+=
Subtraction assignment (減法賦值)-=
Left-shift assignment (左移賦值)<<=
Right-shift assignment (右移賦值)>>=
Bitwise AND assignment (按位“與”賦值)&=and_eq
Bitwise inclusive OR assignment (按位“與或”賦值)|=or_eq
Bitwise exclusive OR assignment (按位“異或”賦值)^=xor_eq
throw expressionthrow
Group 16 precedence, left to right associativity (第 16 組優先級,從左到右關聯)
Comma,

References

[1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/
[2] C++ built-in operators, precedence, and associativity, https://learn.microsoft.com/en-us/cpp/cpp/cpp-built-in-operators-precedence-and-associativity

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40940.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40940.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40940.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

網絡IO模型之多路復用器.md

多路復用是什么&#xff1f;怎么理解&#xff1f; 本文主要涉及為 程序中處理網絡IO時的模型&#xff0c;對于系統內核而言網絡IO模型。這里只做普及使用 前置知識&#xff0c;什么是IO&#xff1f;怎么理解IO IO其實就是In和Out。中文翻譯是輸入和輸出&#xff0c;只要涉及到輸…

clone()方法

在Java中&#xff0c;clone() 方法是一個非常有趣且強大的工具&#xff0c;用于創建對象的一個副本。這個方法位于 Object 類中&#xff0c;因此可以被所有類使用。讓我們討論一下它的幾個要點&#xff1a; 什么是克隆&#xff1f; 克隆就是創建一個對象的新副本&#xff0c;這…

2005-2022全國及各省家庭承包耕地流轉總面積及經營耕地面積數據(無缺失)

2005-2022全國及各省家庭承包耕地流轉總面積及經營耕地面積數據&#xff08;無缺失&#xff09; 1、時間&#xff1a;2005-2022年 2、范圍&#xff1a;全國及30省 3、指標&#xff1a;家庭承包耕地流轉總面積、家庭承包經營耕地面積、土地流轉率、 4、來源&#xff1a;農村…

《web應用技術》第十一次課后作業

驗證過濾器進行權限驗證的原理。 創建Filter&#xff1a; package com.example.filter;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException;WebFilter(urlPatterns "/*") public class DemoFilter implements Filter …

【3維BFS】個人練習-Leetcode-LCP 79. 提取咒文

題目鏈接&#xff1a;https://leetcode.cn/problems/kjpLFZ/ 題目大意&#xff1a;給一個矩陣matrix[][]&#xff0c;元素為小寫英文字母。給一個字符串mantra&#xff0c;求從矩陣的(0,0)位置開始&#xff0c;可以移動&#xff08;上下左右&#xff09;或者提取字母&#xff…

怎么搭建個人博客教程,附云主機選購指南

一、搭建個人博客教程 1. 規劃博客內容與技術棧 確定博客主題&#xff1a;首先明確博客的定位和主題&#xff0c;這將影響后續的技術選擇和內容規劃。選擇技術棧&#xff1a;根據個人偏好和技術背景&#xff0c;選擇合適的建站技術。例如&#xff0c;可以使用WordPress&#…

adobe pdf設置默認打開是滾動而不是單頁視圖

上班公司用adobe pdf&#xff0c;自己還不能安裝其它軟件。 每次打開pdf&#xff0c;總是默認單頁視圖&#xff0c;修改滾動后&#xff0c;下次打開又 一樣&#xff0c;有時候比較煩。 后面打開編輯->首選項&#xff0c; 如下修改&#xff0c;下次打開就是默認滾動了

Websocket通信實戰項目(圖片互傳應用)+PyQt界面+python異步編程(async) (上)服務器端python實現

Rqtz : 個人主頁 ?? 共享IT之美&#xff0c;共創機器未來 ? Sharing the Beauty of IT and Creating the Future of Machines Together 目錄 項目背景 ?編輯?專有名詞介紹 服務器GUI展示 功能(位置見上圖序號) 客戶端GUI展示&#xff08;h5cssjs&#xf…

flask的進階使用方法

【 一 】一對多關系 # 1 一對一 [本質就是一對多--》多的那個唯一] # 2 一對多 # 3 多對多1.1 關系 #### 一對多關系 class Hobby(Base):__tablename__ hobbyid Column(Integer, primary_keyTrue)caption Column(String(50), default籃球)def __str__(self):return sel…

C++多態(虛函數,純虛函數,抽象類)

一.多態 1.理解&#xff1a; 多種形態&#xff0c;多種形式 eg:多個派生類均把基類的方法run重新實現&#xff0c;但是實現的方式不同&#xff0c;體現了多種形式&#xff0c;即為多態 2.分類 &#xff08;1&#xff09;編譯時的多態&#xff1a;在編譯過程中確定了同名操…

Java中的代碼優化與重構策略

Java中的代碼優化與重構策略 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 1. 引言 代碼優化與重構在軟件開發中扮演著至關重要的角色。優秀的代碼不僅令人…

將游戲降權運行 2024年,防止游戲檢測,泄漏個人隱私

不得不說&#xff0c;現在的游戲&#xff0c;膽子是真的越來越大了。很多都帶了個啟動器&#xff0c;你開著游戲的時候他就給他開多了1個掃描器&#xff0c;看下你有沒看一些小孩不宜的&#xff0c;玩游戲不宜打開的軟件什么的&#xff0c;包括你的MAC地址啊&#xff0c;你當前…

pydub、ffmpeg 音頻文件聲道選擇轉換、采樣率更改

快速查看音頻通道數和每個通道能力判斷具體哪個通道說話&#xff1b;一般能量大的那個算是說話 import wave from pydub import AudioSegment import numpy as npdef read_wav_file(file_path):with wave.open(file_path, rb) as wav_file:params wav_file.getparams()num_cha…

量化交易:金融投資的新篇章

在金融投資的世界里&#xff0c;量化交易正逐漸成為一股不可忽視的力量。它以數據驅動和算法決策為特點&#xff0c;為投資者提供了一種全新的交易方式。本文將深入探討量化交易的基本概念、優勢、挑戰以及如何開始使用量化交易策略。 量化交易的定義與起源 量化交易&#xf…

Android10以上實現獲取設備序列號功能

Android10以上實現獲取設備唯一標識&#xff0c;目前只支持華為和榮耀設備。實現原理&#xff1a;通過無障礙服務讀取序列號界面。 public class DeviceHelper implements Application.ActivityLifecycleCallbacks {static final String TAG "WADQ_DeviceHelper";s…

Zoom使用的基本步驟和注意事項

Zoom是一款功能強大的視頻會議軟件&#xff0c;廣泛應用于遠程辦公、在線教育、團隊協作等多個場景。以下是Zoom使用的基本步驟和注意事項&#xff1a; 一、注冊與登錄 注冊Zoom賬戶&#xff1a; 訪問Zoom官方網站&#xff08;如zoom.us&#xff09;&#xff0c;點擊“注冊”…

Android Enable 和clickable

setEnabled 使能控件 設置為false&#xff0c;該控件永遠不會活動&#xff0c;不管設置為什么屬性&#xff0c;都無效&#xff1b; 設置為true&#xff0c;表明激活該控件&#xff0c;控件處于活動狀態&#xff0c;處于活動狀態&#xff0c;就能響應事件了&#xff0c;比如觸摸…

mybatis實現動態sql

第一章、動態SQL MyBatis 的強大特性之一便是它的動態 SQL。如果你有使用 JDBC 或其它類似框架的經驗&#xff0c;你就能體會到根據不同條件拼接 SQL 語句的痛苦。例如拼接時要確保不能忘記添加必要的空格&#xff0c;還要注意去掉列表最后一個列名的逗號。利用動態 SQL 這一特…

2024北京大健康展,北京健康生活產品展覽會十月舉辦

2024北京健博會&#xff0c;立足北京&#xff0c;效應輻射全國買方市場&#xff0c;助力健康中國事業建設&#xff1b; 2024第11屆中國&#xff08;北京&#xff09;國際大健康產業博覽會 The 2024 China (Beijing) International Health Service Expo 時間&#xff1a;2024年…