2010 - C++编码规范 联系客服

发布时间 : 星期六 文章2010 - C++编码规范更新完毕开始阅读a7c8c5fdf705cc175527091e

设指针变量的名字为p,它与零值比较的标准if语句如下:

if (p == NULL) // p与NULL显式比较,强调p是指针变量

if (p != NULL) 不要写成

if (p == 0) // 容易让人误解p是整型变量

if (p != 0) 或者

if (p) // 容易让人误解p是布尔变量

if (!p)

5.4 循环语句的效率

? 在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。 低效率:长循环在最外层 for (row=0; row<100; row++) { for ( col=0; col<5; col++ ) { sum = sum + a[row][col]; } } ? 高效率:长循环在最内层for (col=0; col{ for (row=0;{ sum = su } } 如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。 效率低但程序简洁 效率高但程序不简洁 for (i=0; i

?

不可在for 循环体内修改循环变量,防止for 循环失去控制。

? 循环变量应定义在循环内,如for(int i = 0 ; i < 10; i++)。

5.6 switch语句

?

每个case语句的结尾不要忘了加break,否则将导致多个分支重叠(除非有意使多个分支重叠)。 ?

如果使用多个分支重叠,请在每个分支后面加注释说明“//fall through”。 ?

为提升代码的可读性,多于2条语句的case分支需要使用花括号“{}”标注作用域。 ?

不要忘记最后那个default分支。即使程序真的不需要default处理,也应该保留语句 default : break; 这样做并非多此一举,而是为了防止别人误以为你忘了default处理。