码迷,mamicode.com
首页 > 编程语言 > 详细

C++ Primer学习总结 第4章 表达式

时间:2015-03-07 01:05:25      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:c++   c++ primer 第5版本   c++11   

 第4章 表达式


1.    decltype作用于左值对象时,返回的是该对象的引用类型. 作用于右值对象时,返回的是该对象的类型.

技术分享

技术分享

技术分享

2.    求值顺序.

技术分享

C++中只有&& || ?: , 4种运算符是先左后右求值的.

 

3.    一元正负号运算符作用于数值:

技术分享

会提升当前数值的类型,比如short变成int

 

4.    m%(-n)(-m)%n 与 (-m)%(-n) 的结果分别是:

技术分享

注意: 模的正负号没有任何影响, m的正负号决定结果的正负.

 

5.     关系运算符满足左结合律:

 技术分享


6.     递增递减运算符(如++x,x++)在什么时候是不可替换(成x+1的形式)?

在用于那些不支持算术运算的迭代器时,是必须的.

 

7.    ++,--运算符,前置版本返回左值对象,后置版本返回右值对象.

技术分享

 

8.    后置递增运算符的优先级高于解引用运算符

技术分享


9.    运算对象可按任意顺序求值:

技术分享


10.  条件运算符满足右结合律:

技术分享


11.  位运算符强烈建议只用于处理无符号数或正数,因为符号位如何处理是与机器有关的.


12.   struct结构体类的对象是需要对齐一个字大小的.

技术分享


13.  sizeof运算符并不去计算其运算对象的值,所以在sizeof中解引用一个无效的指针是合法的.

sizeof作用于 string 和vecvtor时,只返回其固定部分的字节大小,不会对其内容求字节大小.

技术分享

 

14.  逗号运算符的求值顺序是从左到右,且其返回值是右边表达式的值.所以如果右边表达式的返回值是左值,那么逗号运算符的返回值也是左值. 注意b=4返回b的引用(即左值)

技术分享

 

15.  void* 能存放任何非常量对象的地址:

技术分享

 

16.  const_cast<>()会改变(且只能改变)运算对象的底层const属性.(只有指针和引用有底层const)

技术分享

C++ Primer学习总结 第4章 表达式

标签:c++   c++ primer 第5版本   c++11   

原文地址:http://blog.csdn.net/u013480600/article/details/44108209

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!