そのため、index []によってstlベクトル内の要素にアクセスする一連のコードを作成しましたが、今はベクトルのチャンクのみをコピーする必要があります。 vector.insert(pos, first, last)
が欲しい関数のように見えます... intとして最初と最後しか持っていないことを除いて。これらの値のイテレータを取得する良い方法はありますか?
これを試して:
vector<Type>::iterator nth = v.begin() + index;
@dirkgently ( v.begin() + index )
で言及されている方法
しかし、 std::advance
( v.begin(), index )
最も一般的な方法で、ランダムアクセスのイテレータは一定の時間でも動作します。
編集
使用方法の違い:
std::vector<>::iterator it = ( v.begin() + index );
または
std::vector<>::iterator it = v.begin();
std::advance( it, index );
@litbノートの後に追加。
また、 auto it = std::next(v.begin(), index);
更新:C++ 11x準拠のコンパイラが必要
または、 std::advance
を使用できます
vector<int>::iterator i = L.begin();
advance(i, 2);