C和C++运算符

✍ dations ◷ 2025-04-12 06:13:31 #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  }

安全问题

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

相关

  • 罗斯欧文·罗斯(Irwin Rose,1926年7月16日-2015年6月2日),美国生物化学家。由于发现了泛素调解的蛋白质降解,与阿龙·切哈诺沃、阿夫拉姆·赫什科一起获得了2004年诺贝尔化学奖。欧文
  • 尿常规尿液分析,又称为尿常规,是针对尿液标本所进行的一组医学检验项目,是医学诊断过程中最为常用的方法之一。尿液分析是历史最为悠久的医学检验方法之一,可以反映肾脏和泌尿道等方面
  • 感受性在哲学中,感质(英语:Qualia,/ˈkwɑːliə/或/ˈkweɪliə/;单数形式: Quale)的定义是主观意识经验的独立存在性和唯一性。Qualia这个词源自拉丁语中的形容词quālis'(拉丁语发音:.m
  • 基思·韦斯特基思·韦斯特(英语:Keith Albert Wester,1940年2月21日-2002年11月1日)为一位美国音讯工程师。他曾6次提名奥斯卡最佳音响效果奖。自1996年至2002年间他参与了近60部电影的制作。
  • 夏威夷银行股份夏威夷银行股份有限公司,简称夏威夷银行(英语:Bank of Hawaii,NYSE:BOH),是在1897年成立,属于美国夏威夷最大金融机构地区,现任董事长及首席执行官何彼德(英语:Peter S. Ho)。总部位于檀
  • 佳能 EOS 800D佳能 EOS 800D入门级数码单镜反光相机,佳能 EOS 800D是佳能在2017年3月推出的一款设有内置闪光灯的自动对焦及自动曝光数码单镜反光相机,它在日本市场被称作EOS Kiss X9i,在北
  • 黎拔佳黎拔佳(英语:B.C. Lee,1954年-2019年9月11日)是加拿大华裔政治家、资深演员,前任卑斯省温哥华市议员。黎拔佳出生澳门,12岁与家人移居台湾,于台南一中就读中学、后于政治大学取得政
  • 威廉·R·戴威廉·鲁弗斯·戴(William Rufus Day,1849年4月17日-1923年7月9日),美国律师、法官、政治家,曾任美国国务卿。
  • 砂益坐标:2°18′19″N 102°36′52″E / 2.30535°N 102.61453°E / 2.30535; 102.61453.mw-parser-output #wdinfobox{width:210px;font-size:95%;table-layout:fixed;padding:
  • 李国祥 (消歧义)李国祥可能指以下人物条目中的一个: