ベクトルを作成しました:
std::vector<std::string> mero; // earlier it filled with more than 500 data
その後、ベクトルの一部のみをとる別のベクトルを作成したいと思いますmero
。(例:100番目から250番目まで)
2つのイテレータを使用する(このリンクstd::vector
の番号4 )のコンストラクタがあります。これは、最初のイテレータ(包括的)から2番目のイテレータ(排他的)までのすべての要素を含む新しいベクトルを構築します。
std::vector<std::string> partOfMero(mero.begin() + 100, mero.begin() + 250);
これには、新しく構築されたベクトルにmero[100]
スルーが含まれます。mero[249]
std::vector
には2つのイテレータを使用するコンストラクタがあるため、コピーする範囲を指定できます。
std::vector<std::string> v1;
std::vector<std::string>::const_iterator first = v1.begin() + 100;
std::vector<std::string>::const_iterator last = v1.begin() + 250;
std::vector<std::string> v2(first, last)
これにより、から1つ前v2
までのすべての要素のコピーが含まれるように構成されます。v1.begin()+100
v1.begin()+250