C和C++运算符

✍ dations ◷ 2025-09-10 16:49:41 #Webarchive模板archiveit链接,C语言,C++

所有的C语言运算符都被C++语言支持。C语言不支持运算符重载。

在不重载时,运算符&&||,(逗号运算符),在第一个操作数求值之后有一个顺序点。

大部分C与C++运算符也可用于其它程序设计语言如C#、Java、Perl、PHP等,具有相同的优先级、结合性与语义。

以下是C++编程语言中的所有运算符的优先级和结合性列表。

在本表中,abc代表有效值(来自变量或返回值的逐字常量或数值)、对象名称,或适当的左值。

在C和C++中对运算符的约束,是语言的语法规范因素所指定的(在对应的标准中),而不是优先级列表。这造成了一些微妙的冲突。例如,在C中,条件表达式的语法是:

   邏輯-OR-表達式 ? 表達式 : 條件-表達式

在C++中则是:

   邏輯-or-表達式 ? 表達式 : 賦值-表達式

因此,这个表达式:

   e = a ? b : c = d

两个语言的语法分析结果并不相同。在C中,这个表达式被解析为:

   e = ((a ? b : c) = d)

这是一个错误的语义,因为条件-表达式的结果并不是一个左值。在C++中,则解析为:

   e = (a ? b : (c = d))

这是一个有效的表达式。

比特逻辑运算符的优先级一直受到批评 Archive-It的存档,存档日期2015-02-03。在观念里,&和|是类似于+和*的数值运算符。但是,表达式

   a & b == 7

意谓

   a & (b == 7)

   a + b == 7

意谓

   (a + b) == 7

这就需要经常使用圆括号,以免有意料之外的结果。

一元正号运算符可用于操作数表达式的类型提升。例如下例:

template <class T> void f(T const& a, T const& b){};int main() {	int a;	int b;	f(a, b); // won't work! different values for "T"!	f(+a, +b); // works! T is "int*" both  }

安全问题

下表指出了各个运算符可能导致的安全问题:

相关

  • 单板机“单板机”或称“单板电脑”(SBC, Single Board Computer),将计算机的各个部分都组装在一块印制电路板上,包括微处理器/存储器/输入输出接口,还有简单的七段发光二极管显示器、
  • 戴维斯·蒙森空军基地坐标:32°09′59″N 110°52′59″W / 32.16639°N 110.88306°W / 32.16639; -110.88306戴维斯-蒙森空军基地(英语:Davis–Monthan Air Force Base;IATA代码:DMA;ICAO代码:KDMA;FAA
  • 鲁霍拉·穆萨维·霍梅尼赛义德鲁霍拉·穆斯塔法维·穆萨维·霍梅尼(波斯语:سید روحاللّه مصطفوی موسوی خمینی‬‎,转写:Sayyid Rūhollāh Musavi Khomeinī  发音 帮助·
  • 中国植物物种信息数据库中国植物物种信息数据库(英语:China Plants Database),或作中国植物名称数据库(Chinese Plant Names Index,缩写作CPNI:401-402),是中华人民共和国一个由中国科学院昆明植物研究所、
  • 罗斯环礁罗斯环礁(Rose Atoll),有时称为罗斯岛,马努阿群岛的居民称之为Motu O Manu,是一个隶属美属萨摩亚的环礁。是美国领地的最南端。土地面积为0.214 km²(52.8英亩)。包含泄湖与珊瑚礁
  • 阿历山大·洛佩斯阿历山大·洛佩斯(1974年10月29日-),前巴西职业足球员,巴西国家足球队成员。从1995年到1996年,他共为巴西国家足球队出场3次。
  • 陆孝彭陆孝彭(1920年8月-2000年10月16日) ,中国航空专家,洪都航空工业集团飞机总设计师。原籍江苏常州人,1920年生于上海。1941年毕业于国立中央大学航空工程系。1945年起,先后在美国麦
  • 86-不存在的战区-日版小说第一册封面《86 -不存在的战区-》(日语:86―エイティシックス―)是日本作家安里アサト所撰写的轻小说作品,しらび负责插画,I-IV负责机器设定。小说由ASCII Media Works的电
  • 腺牧豆树 var. var. var. (Torr.)腺牧豆树(学名:)是牧豆树属下的一种植物。原产于美国西南部到墨西哥的地区内,而美国境内的腺牧豆树主要分布在堪萨斯州南部到德克萨斯州东部的年降
  • 金贤秀金贤秀(韩语:김현수,2000年6月23日-),韩国女演员。2014年:第3届大田电视剧节─女子童星奖(来自星星的你)