1

イテレータと添え字のどちらを優先するかについて質問があります。たとえば、次のようなことをしている場合:

for (vector<int>::size_type i = 0; i != ivec.size(); ++i) {
  ivec[i] related operation
}

for (vector<int>::iterator it = ivec.begin(); it != ivec.end(); ++it) {
  *it related operation
}

どちらが好ましいですか?1.パフォーマンス2.明確性3.その他の懸念事項

私はこの質問が以前にリンクで議論されたことを知っています。しかし、他の投稿では、size()のパフォーマンスコストについてのみ説明しました。

これがベクトルに関するものであり、size()のコストはごくわずかであると仮定します。

下付き文字とイテレータの使用コストはどうですか?

ありがとう。

4

1 に答える 1

1

パフォーマンス: vector を使用すると、ほとんどの場合、これらのケースは等しくなりvector<T>::iteratorますT

明快さ: イテレータで作業します。

于 2013-03-01T05:51:13.357 に答える