首页 > 编程语言 > 详细

C++ primer 笔记

时间:2018-11-30 23:13:32      阅读:118      评论:0      收藏:0      [点我收藏+]

 

 

 

  1. 如果表达式指向并修改了了同一个对象,将会引发错误并且产生未定义的行为。

      例如:

int i;
cout<<i<<"  "<++i<<endl; //未定义的

  编辑器可能先 ++i 再输出i, 也可能先输出i, 再 ++i。 结果是不可控的。所以不管结果是什么都是错的。

  

  再比如表达式  f() + g() * h() +j(),如果这四个函数不会改变同一对象,也不会进行io操作,那么这句话中,先调用哪个函数无关紧要。 反之,如果影响同一对象就会产生未定义的行为,是错误的表达式。

  

 

  2. 

  bool b = true;

  bool b2 =-b;  //b2 是true     

  首先 b为true 会被转换成1, b2 = -1, -1!=0, 所以b2 也是true

 

  3.

  比较运算符

  if(i<j<k) 错误,i<j返回值是布尔值, 之后布尔值再和k进行比较

  if(i<j && j<k) //正确

  

  

 

C++ primer 笔记

原文:https://www.cnblogs.com/dairuiquan/p/10046914.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!