C++ 这句话是否重要?(C+;+;)

C++ 这句话是否重要?(C+;+;),c++,if-statement,C++,If Statement,if-else语句中的缩进是否对代码的执行有任何影响,或者只是为了更干净的代码而做的 从Andrew Koening写的《加速C++》中的例子: while(c != cols){ if(r == pad + 1 && c == pad + 1){ cout << greet; c+=greet.size(); } else { if(r == 0 || r == rows - 1 || c == 0 || c =

if-else语句中的缩进是否对代码的执行有任何影响,或者只是为了更干净的代码而做的

从Andrew Koening写的《加速C++》中的例子:

while(c != cols){
    if(r == pad + 1 && c == pad + 1){
      cout << greet;
      c+=greet.size();
    } else {

      if(r == 0 || r == rows - 1 || c == 0 || c == cols - 1)
        cout << "*";

      else
        cout << " ";
        ++c;


    }

  }
while(c!=cols){
如果(r==pad+1&&c==pad+1){

CUT< P>空白不影响C++运行时行为。(与某些其他语言不同,如Python)。


我应该提到,在您的代码> Eng/Buff>块中,您不使用括号。因此,只有第一个语句(<代码> CUT< P>不同于Python C++)不关心缩进。 但是您的else只应用于第一行,要应用于块,它应该在{}之内

else
{
   cout << " ";
   ++c;
}
else
{

CUT< P> C和C++在代码解释中不受空白的影响,这并不意味着程序员不应该关心它的误用。 说明上述代码实际表示的内容的最佳方法是显式定义所有推断的大括号,如下所示。请注意,没有大括号的if语句只有一行代码受“if-then”或“else”子句的影响

这是人们努力坚持的原因之一 “良好的编码实践”,以确保其他人能够清楚地 解释程序员的流程和意图

while(c != cols){
    if(r == pad + 1 && c == pad + 1){
        cout << greet;
        c+=greet.size();
    } else {
        if(r == 0 || r == rows - 1 || c == 0 || c == cols - 1){
            cout << "*";
        } else {
            cout << " ";
        }    
        ++c;
    }
}
while(c!=cols){
如果(r==pad+1&&c==pad+1){

CUT< P> C++中,缩进长度不影响语句的解释,有时需要空白来分隔字符<代码> int < /COD>。其他时候不需要代码< A= B+C;< /Cord>< /P>
if
语句被定义为在条件
if(条件)
之后只能有一条语句


如果我们想要更多的语句,我们必须用大括号{…}将它们分组

换句话说,你可以把除预处理器指令之外的所有指令放在同一行,它仍然会编译,产生相同的行为。这真的是
++c;
在书中缩进的方式吗?我打赌它实际上与
if
else
对齐,而不是与
cout
对齐。我骑自行车的经验法则是始终使用大括号
{…}<代码> > < <代码> >代码>其他代码>,但C++不要求它们用于单个语句体。这只是我的观点;其他人有强烈的观点,而不喜欢使用可选的大括号。缩进是另一个常年的BikHooDeST主题。没有正确的答案,只有强烈的意见。这些主题是最好边喝啤酒边讨论。翻译时代码的缩进是否被弄乱了?@user4581301可能,但不是根据黄框中的文本。无论如何,这很可怕,问题标题的答案是肯定的,但问题第一行的答案是否定的。你的第二段说的是b的引用部分ook也在解释。@Barmar是的,但这正是OP所困惑的。因此,希望我的重新措辞能有所帮助。“空格不会影响C++”。学究般的是,省略空格可能会改变C++03中某些代码
C
的语义/有效性,
a++b
(vs
a++b
运算符“
,以及宏连接(
#定义M(S)“prefix”S
),…但如果它
0
1+
空格相对,则确实如此。