高质量C++编程_第4章_表达式和基本语句

与零值比较

4.3.1 布尔变量与零值比较

//直接使用变量名判断

推荐风格
if (flag) // 表示flag 为真
if (!flag) // 表示flag 为假

不良风格
if (flag == TRUE)
if (flag == 1 )
if (flag == FALSE)
if (flag == 0)

4.3.2 整型变量与零值比较

//用“==”或“!=”直接与0 比较

推荐方式
if (value == 0)
if (value != 0)

不良风格
if (value) // 会让人误解 value 是布尔变量
if (!value)

4.3.3 浮点变量与零值比较

//使用“>=”或“<=”的形式

if ((x>=-EPSINON) && (x<=EPSINON))  //其中EPSINON 是允许的误差(即精度)。

4.3.4 指针变量与零值比较

//用“==”或“!=”与NULL 比较

推荐方式
if (p == NULL) // p 与NULL 显式比较,强调p 是指针变量
if (p != NULL)
 
不良风格
if (p == 0) // 容易让人误解p 是整型变量
if (p != 0)
if (p) // 容易让人误解p 是布尔变量
if (!p)

 

提高循环语句的效率

思想:降低循环体的复杂性

在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU 跨切循环层的次数。

//低效率:长循环在最外层
for (row=0; row<100; row++)
{
	for ( col=0; col<5; col++ )
	{
		sum = sum + a[row][col];
	}
}

//高效率:长循环在最内层
for (col=0; col<5; col++ )
{
	for (row=0; row<100; row++)
	{
		sum = sum + a[row][col];
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值