c++运算符与结合性
来源:互联网 发布:公司如何开淘宝店 编辑:程序博客网 时间:2024/05/16 08:04
C++运算符与结合性
优先级
运算符
含义
结合方向
1
::
域运算符
自左到右
2
()
括号,函数调用
自左到右
[]
数组下标运算符
->
指向成员运算符
.
成员运算符
++
自增运算符(后置)
--
自减运算符(后置)
3
++
自增运算符(前置)
自右到左
--
自减运算符(前置)
~
按位取反运算符
!
逻辑非运算
-
负号预算符
*
指针运算符
&
取地址运算符
(类型)
类型转换运算符
sizeof
长度运算符
new
动态分配空间运算符
delete
释放空间运算符
4
*、/、%
乘法、除法、求余
自左到右
5
+、-
加法、减法运算法
自左到右
6
<<
按位左移运算符
自左到右
>>
按位you移运算符
自左到右
7
<=、>=
关系运算符
自左到右
8
==、!=
等于运算符、不等于运算符
自左到右
9
&
按位与运算符
自左到右
10
^
按位异或运算符
自左到右
11
|
按位或运算符
自左到右
12
&&
逻辑与运算符
自左到右
13
||
逻辑或运算符
自左到右
14
?:
条件运算符(c++中唯一的三目运算符)
自右到左
15
=、+=、-=、/=、%=、>>=、<<=、&=、^=、!=
赋值运算符
自右到左
16
throw
抛出异常运算符
自右到左
17
,
逗号运算符
自左到右
从上述表中可以大致归纳出各类运算的优先级:
C++中的自增自减运算符:
只能用于变量,不能用于表达式和常量
同时可能由于编译器的结合性的不同,可能导致结果的差异
比如:int a=1;cout<<a++<<””<<a++<endl;
由于在vc和gcc中在处理输入流时,先按照自右到左的顺序对各输出项求值,因此先处理右边的a++,变成a=2,再处理左边的a++,故输出2 1.
比如:int i=3; (i++)+(i++)+(i++);
在vs2010中输出的结果是9,其过程就是在整个表达式中都认为i=3;,最后i=6;Ansi C++标准对表达式求值的顺序,并无统一规定,在求解一般表达式时不会发生歧义,而在求解含有++和—运算符时会出现歧义,在不同的系统中可能得到不同的结果
- 说说C语言运算符的“优先级”与“结合性”
- C语言运算符的优先级与结合性
- C语言运算符优先级与结合性
- 说说C语言运算符的“优先级”与“结合性”
- C语言运算符优先级与结合性
- C语言运算符的优先级与结合性
- C语言运算符优先级与结合性
- 说说C语言运算符的“优先级”与“结合性”
- C运算符的优先级与结合
- C运算符的优先级与结合
- C 运算符和结合性
- C中运算符结合性
- c语言运算符及结合性
- c运算符及结合性
- C中运算符结合性
- C语言运算符和结合性
- C语言运算符的结合性
- C语言搬运工--运算符&&结合性
- Web页面的数据导出excel时的格式问题(长数字显示为科学计数法格式等)
- 详细解剖C++运算符sizeof()的使用及字节对齐问题
- cmake&&qmake
- PhoneGap android web 中间件
- windows tomcat配置大全[详细]
- c++运算符与结合性
- 我的单片机学习生涯开始了
- Remote Desktop Connection
- 《2013年工作半年记》
- vc++命名规范
- ffmpeg 一些好资源
- 天天记录 - Android refreshDrawableState源码及流程简单分析
- Hoj 1604 Cable Master
- Linux命令-screen