はのは、できるだけ簡単な例を作ってみましょう:`size_t`は常に` vector <int> :: size_type`や他のコンテナ型のエイリアスですか?
製剤1:
std::vector<int> vec;
// add 10E11 elements
for(std::size_t n = 0; n < vec.size(); ++n)
// ...
製剤2:
std::vector<int> vec;
// add 10E11 elements
for(std::vector<int>::size_type n = 0; n < vec.size(); ++n)
// ...
当然のことながら、unsigned int
または不適切なデータ型はここで働いていないとx64をコンパイルする必要があります。私の質問は次のとおりです。最初の処方が問題につながるケースはありますか?安全にはこの短い記法で書いていますか?彼らが(x86、他のコンテナ、size_type
の他のアプリケーション)をカバーするのが些細なのであれば、私は同様の設定で面白いだろう。
イテレータと 'auto'を使用している場合は問題はありません...;-) – DevSolar
インデックスカウントを追跡する必要がある場合や、ループ内の反復インデックスを変更する必要がある場合があります。 – IceFire
一般的な定義では、理論的に可能な任意のタイプのオブジェクト(配列を含む) 。 – rcgldr