云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 2010 - C++编码规范

2010 - C++编码规范

  • 62 次阅读
  • 3 次下载
  • 2025/12/10 18:13:36

if ((a | b) && (a & c))

5.2 复合表达式

?

不要编写太复杂的复合表达式。

例如:

i = a >= b && c < d && c + f <= g + h ; // 复合表达式过于复杂

?

不要有多用途的复合表达式。

例如:

d = (a = b + c) + r ;

该表达式既求a值又求d值。应该拆分为两个独立的语句:

a = b + c; d = a + r; ?

不要把程序中的复合表达式与“真正的数学表达式”混淆。

例如:

if (a < b < c) // a < b < c是数学表达式而不是程序表达式

并不表示

if ((a

5.3 if 语句

?

不可将布尔变量直接与TRUE、FALSE或者1、0进行比较。

根据布尔类型的语义,零值为“假”(记为FALSE),任何非零值都是“真”(记为TRUE)。TRUE的值究竟是什么并没有统一的标准。例如Visual C++ 将TRUE定义为1,而Visual Basic则将TRUE定义为-1。

假设布尔变量名字为flag,它与零值比较的标准if语句如下:

if (flag) // 表示flag为真 if (!flag) // 表示flag为假 其它的用法都属于不良风格,例如: if (flag == TRUE) if (flag == 1 ) if (flag == FALSE) if (flag == 0) ?

应当将整型变量用\或\!=\直接与0比较。

假设整型变量的名字为value,它与零值比较的标准if语句如下:

if (value == 0) if (value != 0)

不可模仿布尔变量的风格而写成

if (value) // 会让人误解 value是布尔变量

if (!value) ?

不可将浮点变量用\或\!=\与任何数字比较。

千万要留意,无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用\或\!=\与数字比较,应该设法转化成\或\形式。

假设浮点变量的名字为x,应当将 if (x == 0.0) // 隐含错误的比较 转化为

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

应当将指针变量用\或\!=\与NULL比较。

指针变量的零值是“空”(记为NULL)。尽管NULL的值与0相同,但是两者意义不同。假

搜索更多关于: 2010 - C++编码规范 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

if ((a | b) && (a & c)) 5.2 复合表达式 ? 不要编写太复杂的复合表达式。 例如: i = a >= b && c < d && c + f <= g + h ; // 复合表达式过于复杂 ? 不要有多用途的复合表达式。 例如: d = (a = b + c) + r ; 该表达式既求a值又求d值。应该拆分为两个独立的语句: a = b + c; d = a + r; ? 不要把程序中的复合表达式与“真正的数学表达式”混淆。 例如: if (a < b < c) // a < b < c是数学表达式而不是程序

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com