C和C++运算符

✍ dations ◷ 2025-11-25 01:27:47 #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  }

安全问题

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

相关

  • 头罗曼头罗曼(?-517年)也作多罗摩那,拖拉曼那,是公元5世纪末至6世纪初嚈哒在印度的统治者。约465年,嚈哒占据犍陀罗,任该地“特勤”(即总督)。从470年开始,他以犍陀罗为中心,进攻笈多帝国,逐渐
  • 高丽禑王高丽禑王(朝鲜语:고려 우왕/高麗 禑王 Goryeo U'wang;1365年-1389年)是高丽王朝第32位国王(1374年—1388年在位),高丽恭愍王和奴婢般若所生之子。初名牟尼奴(朝鲜语:모니노/牟尼奴 Mon
  • 敌敌畏敌敌畏(dichlorvos, DDVP)又称二氯松,属于有机磷酸酯类化合物,分子式C4H7Cl2O4P,是一种常用的环境卫生杀虫剂。可由三甲氧基膦和三氯乙醛反应得到。
  • 南菜园坐标:25°01′37″N 121°31′13″E / 25.027058°N 121.520398°E / 25.027058; 121.520398 南菜园,是台湾总督儿玉源太郎的别墅,位于当时的台北市儿玉町四丁目,建于1899年(明治
  • KARI KSR-2KSR-2(Korean Sounding Rocket-2),是韩国航空宇宙研究院所设计的2号探空火箭。
  • 枚英俊枚英俊(越南语:Mai Anh Tuấn/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS-UNI-H","Min
  • 拉玛克里斯纳拉玛克里斯纳,或译罗摩奎师那、罗摩克里希那(本篇均简称拉玛,孟加拉语: রামকৃষ্ণ পরমহংস, 帮助·信息,1836年2月18日-1886年8月16日),原名Gadadhar Chatterji或Gadadh
  • 厄尔·佩吉厄尔·克里斯马斯·格拉夫顿·佩吉(英语:Sir Earle Christmas Grafton Page,GCMG, CH,1880年8月8日-1961年12月20日) 澳大利亚政治家,1929年曾短期担任第11任总理。他是现今澳大利
  • 波音767波音767(Boeing 767)是波音民用飞机集团开发的一种中到大型宽体双发动机喷气式客机。它是波音公司的第一架使用玻璃屏幕座舱的宽体双发动机客机。波音767装备了两台涡轮风扇发
  • 面塑面塑是一种发源于中国,并传至越南的民间艺术门类,其主要原料是面粉和糯米粉。艺术家在其中添加颜料,混合后捏出人物禽鸟等造型。可供食用或收藏。常见于庙会、传统节日等。后来