是否首选将语句放在else语句中或使用多个else-if语句?

时间:2017-07-11 18:08:40

标签: c++ if-statement nested

希望这是一个简单的问题:我只是想知道是否存在将多个语句放在else中或使用else-ifs的约定。因此,通常首选使用带有语句的else语句,如下所示:

if(r>0){

    return x;

} else {

    if(completed==false){

        return y;

    } else if(started==true){

        return z;

    } else{

        return xx;
    }}

或使用其他ifs,如下:

if(r>0){

    return x;

} else if(completed==false){

    return y;

} else if(started==true){

        return z;

}else{

        return xx;

}

1 个答案:

答案 0 :(得分:1)

这主要是基于意见的。但是,我相信这一点:

if (condition1) {
    // do stuff
}
else if (condition2) {
    // do stuff
} 
else { 
    // do stuff
}

比嵌套的if-else块更容易阅读和遵循。

修改

正如Porschiey在下面指出的那样,switch语句优先于多个if / else语句。

switch (condition) {
    case (a):
        // do something
    case (b):
        // do something else 
}