换行意味着什么是C / C ++?

时间:2011-02-07 16:31:12

标签: c++ c parsing

我正在合并一个软件的两个分支,并且在合并过程中,一些代码保持这样:

if (b_flag)
 DoSomething();
 //MERGE
else
 //ENDMERGE
  DoOtherThing();

看到if / else块的断开连接?这就像做了什么?编译器会考虑使用换行符吗?

4 个答案:

答案 0 :(得分:7)

是的,它会像它应该的那样工作。如果ifelse没有花括号({}),则下一个语句将被视为if的正文。插入换行符或注释不会改变DoSomething();或DoOtherThing();是这些陈述。

答案 1 :(得分:6)

即使注释像空白一样有效地处理,所以它会像“应该这样”一样工作。但是,在出现严重错误之前,您可能应该在此代码中添加大括号。

最后,有了额外的注释,一个人会错过else语句,或者更糟糕的是,一个额外的语句将被添加到“if block”中,而else语句将突然变成一个else语句,用于更高的嵌套if语句缺少别人。

一种好的风格是强制强制包含花括号,但最简单的情况除外。

答案 2 :(得分:2)

换行符与空格或制表符没有任何区别。顺便说一下,注释不被认为是语句 - 编译器会忽略它们。

编辑:新行重要的唯一时间是在C预处理器指令中,例如#define

答案 3 :(得分:1)

这与使用大括号完全相同。