嵌套if或直接返回

时间:2012-04-22 09:51:06

标签: c++ idioms

我参加了C ++课程,在那里我们有一些功课要向老师展示,有一些if语句是这样的:

if (A != 10)
    return 1;

...snip logic ...
return 12;

他不喜欢这样,并建议我不喜欢这样,即使有不止一层的嵌套:

if (A == 10) {
    ...snip logic ...
    return 12;
} else
    return 1;

他无法向我解释为什么他会这样想。所以我的问题是,是否有任何理由依赖于这样的陈述?我认为在我的函数开头提供一些早期返回的条件既简单又清晰。关于为什么其中一个想法更好/更快的任何想法或想法?之后编译的代码有什么大不同吗?

1 个答案:

答案 0 :(得分:2)

在编码风格方面,您可以听取意见,但最好是制作自己的风格。第一个解决方案对我来说看起来更清晰,更容易阅读,但它毕竟只是一个品味问题。 在性能方面,绝对没有区别。