他小的有

良好的编程风格之条件比较语句

在编程中,我们经常用到比较,经常用到的比较类型有布尔型,整型,浮点型,和指针等等。下面是我经常用到的比较语句也推荐大家使用。

比较布尔型是否为TRUE(虽然BOOL也被定义为int型):

if (bResult)


比较整型是否为零:

if (0 == nResult)

推荐将常量值写到前面,主要的原因是,比如上面这一句不小心写成了

if (nResult = 0)  //呜呼,将永远为true(这种错误很不方便查找)


比较浮点数是否为零:

if ((x >= EPSINON)
&& (x <= EPSINON))

浮点数在内存中很多时候是以近似值保存的,虽然说浮点数与零相比较一样可以直接是否与零相等,但是如果一个浮点数相加一个比较大的数之后,再减掉一个数,这个时候的值未必是之前的数,误差会增大。


比较指针是否为空:

if (NULL == p)

NULL被在C++中被定义为0,在C中被定义为((void *)0),这里将NULL写在前头,正如与int比较时0写前头一样的道理,特别还要说有是在delete p前最好作如上判断,另外delete之后将其指向NULL,否则p将是野指针,再次使用时将出错,而且是否为NULL对它没有作用,因为它并没有指向NULL。

if (NULL != p)
{
    delete p;
    p = NULL;
}

在一些大公司里面,经常有这样的规定,而且是硬性要求,毫不夸张的说:你的编程习惯将决定你的水平,除非你是想为代码加密 :)。

本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!

0
分享到:

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址