2

私は C++ のコースを受講しました。そこでは、教師に見せる宿題がいくつかありました。その中には、次のような if ステートメントがいくつかありました。

if (A != 10)
    return 1;

...snip logic ...
return 12;

彼はこれが気に入らず、ネストのレベルが複数ある場合でも、代わりに次のようにネストすることを提案しました。

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

彼は、なぜそのようにしたかったのか、私に説明することができませんでした。だから私の質問は、if ステートメントをそのようなものにする理由はありますか? 関数の最初に、早期​​に戻るいくつかの条件を設定する方が簡単でクリーンだと思います。これらのアイデアのいずれかが優れている/高速である理由について、何か考えやアイデアはありますか? その後、コンパイルされたコードに大きな違いはありますか?

4

1 に答える 1

2

コーディング スタイルに関しては意見を聞くことができますが、独自のスタイルを作成するのが最善です。最初の解決策は、私にははるかにクリーンで読みやすいように見えますが、結局のところ好みの問題です。パフォーマンスに関しては、まったく違いはありません。

于 2012-04-22T09:59:53.807 に答える