为什么在C / C ++中省略花括号被认为是不好的做法?

在C ++中,我们可以在if-else语句之后或任何循环之后省略花括号。如果我们不使用花括号,则在该块下仅考虑if-else或loop之后的一个语句。例如-

if(condition) {
   Line 1
   Line 2
}

if(condition)
Line 1
Line 2

在第一种情况下,Line1和Line2都位于if块中。但是在第二种情况下,Line1在if块中,而Line2在if块中。因此,我们仅在if-else或loop下只有一个语句时才可以省略花括号。

有时出于调试目的,我们只是在一行中加了注释。使用此方法,我们可以检查没有该语句的输出的效果。那时,if-else或没有括号的循环会带来一些麻烦。例如-

if(condition) {
   Line 1
}
Line2

if(condition)
Line 1
Line 2

在这两种情况下,Line1都位于if块中,而Line2不在if块中。因此,如果条件失败或满足条件,则将始终执行Line2。现在,如果出于某些调试目的,如下所示,则可能会产生一些问题。

if(condition)
//Line 1
Line 2

如果对Line1进行注释,我们只是认为还可以,但是在这种情况下,编译器认为Line2在if块中,但这是错误的。如果我们使用大括号,则没有问题。