《高质量C++编程指南》读后笔记一

来源:互联网 发布:js 视频进度条的实现 编辑:程序博客网 时间:2024/06/12 01:08

二、程序的版式  略

三、命名规则  略

四、表达式和基本语句

  1.运算符的优先级及结合律

优先级

运算符

结合律

( )  [ ]  ->  .

从左至右

!  ~  ++  --  (类型) sizeof

+  -  *  &

从右至左

*  /  %

从左至右

+  -

从左至右

<<  >>

从左至右

<   <=   >  >=

从左至右

==  !=

从左至右

&

从左至右

^

从左至右

|

从左至右

&&

从左至右

||

从右至左

?:

从右至左

=  +=  -=  *=  /=  %=  &=  ^=

|=  <<=  >>=

从左至右

    括号是最好的优先级表示方式。

  2.各种类型的变量与零值比较

    布尔型变量flag:  if(flag)    if(!flag)

    整形变量value:  if(value == 0)    if(value != 0)

    浮点变量x:  if( (x >= -EXPENSION) && (x <= EXPENSION) )  EXPENSION是宏定义的误差范围,为正数

    指针变量point:  if(point == NULL)    if(point != NULL)

    有时候我们看到  if(NULL == point)   这样的古怪样式,是有其原因的,留给读者自己想吧。

  3.循环语句的效率

    终极准则就是,循环次数较多的循环,我们应该尽量避免去打扰他的执行。诸如在长循环中加判断语句,在长循环中加入短循环,这样都不能很好的提高循环的效率。也就是说,我们尽量应该让长循环能够实现真正的流水线作业。