🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 第4章 表达式 ### 4.1.1 基本概念 decltype(左值表达式)得到的是引用类型。 ### 4.1.3 求值顺序 运算对象的求值顺序与优先级和结合律无关。 以下4种运算符明确规定了运算对象的求值顺序: 符号 | 含义 --- | --- && | 逻辑与 \|\| | 逻辑或 ?! | 条件运算符 , | 逗号运算符 ### 4.2 算术运算符 一元正号运算符可作用于指针,返回运算对象值的一个(提升后的)副本。 由于整型提升的影响,布尔值不应该参与运算。 C++11新标准规定整型除法的商一律向0取整。 根据取余运算的定义,即表达式`(m / n)* n + m % n == m`为真(m和n是整数且n非0),即如果m%n不等于0,则它的符号和m相同。故除了-m导致溢出的特殊情况,`m % (-n)`等于`m % n`,`(-m) % n`等于`-(m % n)`。 ### 4.9 对引用类型执行**sizeof**运算得到被引用对象所占空间的大小。 对string对象或vector对象执行**sizeof**运算只返回该类型固定部分的大小,不会计算对象中的元素占用了多少空间。 ### 4.11.3 **const_cast**只能改变运算对象的底层const。只有**const_cast**能改变表达式的常量属性。