C和C++运算符

✍ dations ◷ 2025-11-26 02:28:23 #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  }

安全问题

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

相关

  • Nitrospirae硝化螺旋菌门(Nitrospira)是一类革兰氏阴性细菌。其中的硝化螺旋菌属(Nitrospira)作为硝化细菌(Nitrifier),可将亚硝酸盐氧化成硝酸盐。医学导航:病菌细菌(分类)gr+f/gr+a(t)/gr-p(c/gr-o药
  • 树突树突(英语:Dendrites)是神经元解剖结构的一部分,为从神经元的细胞本体发出的多分支突起。树突为神经元的输入通道,其功能是将自其他神经元所接收的动作电位(电信号)传送至细胞本体
  • abbr class=abbr title=R20: 吸入有害R20/abbr警示性质标准词(英语:Risk Phrases,简写:R-phrases)是于《欧联指导标准67/548/EEC 附录III: 有关危险物品与其储备的特殊风险性质》里定义。该列表被集中并再出版于指导标准2001/
  • 容积单位体积(英语:Volume)是物件占有多少空间的量。体积的国际单位制是立方米。一件固体物件的体积是一个数值用以形容该物件在空间所占有的空间。一维空间物件(如线)及二维空间物件(如正
  • 民间全民电视公司民间全民电视公司(英语译名:Formosa TV),简称民视(FTV),是台湾的无线电视台,也是台湾第四家开播的无线电视台,为台湾第一家纯民间资本的无线电视台。1993年8月6日,蔡同荣、李镇源、李
  • 阿希尔·理查阿希尔·理查(法语:Achille Richard)(1794年4月27日-1852年10月5日)是法国植物学家。理查出生于巴黎,父亲是著名的植物学家路易·克洛德·理查,虽然他从小就曾帮助父亲收集植物标本,
  • 王翊 (明朝)王翊(1616年-1651年),字完勋,号笃庵,余姚人,为明末浙东抗清人物。拜兵部尚书,兼右副都御史。幼年丧父,喜谈兵法。明末清兵南下,余姚知县王正中荐为职方主事,败居大兰山。鲁王监国二年(16
  • 人间人间可以指:
  • 第一代威灵东侯爵费尔曼·费尔曼-托马斯第一代威灵东侯爵费尔曼·费尔曼-托马斯,PC,GCSI,GCMG,GCIE,GBE(英语:Freeman Freeman-Thomas, 1st Marquess of Willingdon,1866年9月12日-1941年8月12日),英国自由党政治家,1913年至19
  • 野泽尚野泽尚(日语:野沢 尚,1960年5月7日-2004年6月28日)日本编剧家、推理小说家。爱知县名古屋市出生。爱知县立昭和高等学校,日本大学艺术学部电影系毕业。电视剧脚本方面受到极高评价