关于运算符
提示:本文属于个人总结笔记,如有错误,欢迎评论区讨论
前言
C++提供了一套丰富的运算符,本文主要总结用于内置类型运算对象的运算符,以及几种标准库定义的运算符。之后会总结自定义类型的运算符。基本概念
-
C++定义了一元运算符(作用于一个对象)、二元运算符(作用于两个对象),还有作用于三个运算对象的三元运算符
-
如果表达式中有多个运算符,要考虑运算符优先级、结合律和求值顺序
每个运算符都有其对应的优先级和结合律,优先级规定了表达式中运算符的组合方式,结合律则说明了优先级相同时应如何组合。 -
大多数运算符并不明确规定运算对象的求值顺序
常见运算符
1.算术运算符
下图运算符按照优先级进行分组:
- 算术运算符都能作用于任意算术类型
- 一元正号运算符、加法运算符和减法运算符都能作用于指针
- 关于除法(/)和取余(%): 除法中整数相除结果还是整数,商的小数部分直接舍弃。例: 21/6 = 3 。 取余则计算整数相除得到的余数:42%12 = 6 。
- 除法运算中,C++11新标准规定,商一律向0取整(直接切除小数部分)。即,如果 m% n 不等于 0 ,则结果符号和 m 相同。除法就正常除运算。实例如下: