10

次のコードは受け入れられますか?

if(vector.size() > 0 && vector[0] == 3) {
}

または、ベクトルが空のときにクラッシュする可能性はありますか?私はこれが起こっていることに気づいていませんが、それがまだ可能であるのではないかと心配しています。

4

2 に答える 2

14

&&はい、短絡は組み込みのオペレーターに頼ることができます。それはその仕様の一部です。

于 2012-12-20T21:29:30.013 に答える
11

はい、それは機能しますが、言うのはもっと慣用的!vector.empty() && vector[0] == 3です:それは最大の効率ですべてのコンテナで機能するので、それは決して悪くはなく、時にはより良く、常により読みやすくなります。

于 2012-12-20T21:31:12.823 に答える