Coding style else…if/else-if之间有技术上的区别吗?
我知道这在所有语言中都是不一样的,但这是我想知道一段时间的事情 既然标题不是很清楚,那么两者之间有技术上的区别吗Coding style else…if/else-if之间有技术上的区别吗?,coding-style,if-statement,Coding Style,If Statement,我知道这在所有语言中都是不一样的,但这是我想知道一段时间的事情 既然标题不是很清楚,那么两者之间有技术上的区别吗 if (...) { // ... } else if (...) { // ... } 及 我知道从实际的角度来看,他们也会做同样的事情,选择其中一个的可读性是有原因的,比如如果第二个如果与第一个没有直接关系 但从技术角度来看,我不确定。编译器是否倾向于使用else if执行一些特殊的操作,或者是否将其当作单行处理,例如: if (...) singleLine
if (...) {
// ...
} else if (...) {
// ...
}
及
我知道从实际的角度来看,他们也会做同样的事情,选择其中一个的可读性是有原因的,比如如果第二个如果与第一个没有直接关系
但从技术角度来看,我不确定。编译器是否倾向于使用else if
执行一些特殊的操作,或者是否将其当作单行处理,例如:
if (...)
singleLine();
但是看起来:
else
if (...) // Counts as just a single line command
希望这能说明我的问题。这两种方法在技术上有什么区别吗?使用else有什么缺点吗在C++中,如果样式> < P>,这两个字完全相同。在示例中,你给出了<<代码> < <代码> > <代码>,否则,实际上是一个新的代码块,正如你在你的问题中所示,它类似于一条线。但是格式和代码布局比 >,如果,更好些。
该语法大致定义如下:
<if structure> -> if <condition> <code blob> else <code blob>
<code blob> -> <if structure>
整件
if (3) stuff(); else thing();
只是第一个I/EL结构中的“其他代码”>代码BLB> <代码>。C++中,
< P>,完全相同。检查一下形式语法。在例子中,你给出了<代码> < <代码> > <代码>,如果是一个新的代码块,正如你在你的问题中所示,它类似于一条线。格式化和不过,如果使用或,代码布局会更好
该语法大致定义如下:
<if structure> -> if <condition> <code blob> else <code blob>
<code blob> -> <if structure>
整件
if (3) stuff(); else thing();
只是第一个if/else结构中else的
。我相信任何一个好的编译器都会为这两种形式生成相同的代码。我能想到的使用第二种形式的唯一原因是,您希望向else添加不受所附if控制的代码。我相信任何好的编译器都会生成为两种形式编写相同的代码。我能想到的使用第二种形式的唯一原因是,您希望向else中添加不受随附if控制的代码。这并不是真正的语言不可知论。C编译器可能足够聪明,可以为两个语句块生成相同的机器代码。但是,像e PHP可能会为第二个块生成更多的操作码(指令)。@mellowsoon是有道理的,我猜我误解了标记“编译器优化”的正确用法?WTF?说真的,人们,不是有十亿个参数对性能的影响至少是这个的十倍吗?!这不是真正的语言不可知论。C编译器可能足够聪明,可以为两个语句块生成相同的机器代码。但是像PHP这样的脚本语言可能会生成更多的操作代码(指令)对于第二个块,@mellowsoon是有意义的,我猜我在这里误解了标记的正确用法“编译器优化”?WTF?说真的,人们,不是有十亿个参数对性能的影响至少是这个的十倍吗?!?