第4章 表达式
1. decltype作用于左值对象时,返回的是该对象的援用类型. 作用于右值对象时,返回的是该对象的类型.
2. 求值顺序.
C++中只有&& || ?: 和, 4种运算符是先左后右求值的.
3. 1元正负号运算符作用于数值:
会提升当前数值的类型,比如short变成int型
4. m%(-n) 与 (-m)%n 与 (-m)%(-n) 的结果分别是:
注意: 模的正负号没有任何影响, m的正负号决定结果的正负.
5. 关系运算符满足左结合律:
6. 递增递减运算符(如++x,x++)在甚么时候是不可替换(成x+1的情势)?
在用于那些不支持算术运算的迭代器时,是必须的.
7. ++,--运算符,前置版本返回左值对象,后置版本返回右值对象.
8. 后置递增运算符的优先级高于解援用运算符
9. 运算对象可按任意顺序求值:
10. 条件运算符满足右结合律:
11. 位运算符强烈建议只用于处理无符号数或正数,由于符号位如何处理是与机器有关的.
12. struct结构体类的对象是需要对齐1个字大小的.
13. sizeof运算符并不去计算其运算对象的值,所以在sizeof中解援用1个无效的指针是合法的.
sizeof作用于 string 和vecvtor时,只返回其固定部份的字节大小,不会对其内容求字节大小.
14. 逗号运算符的求值顺序是从左到右,且其返回值是右侧表达式的值.所以如果右侧表达式的返回值是左值,那末逗号运算符的返回值也是左值. 注意b=4返回b的援用(即左值)
15. void* 能寄存任何非常量对象的地址:
16. const_cast<>()会改变(且只能改变)运算对象的底层const属性.(只有指针和援用有底层const)
上一篇 新手学MVC----MVC3.0错误 HTTP 404
下一篇 EF