我创建了一个向量:
std::vector<std::string> mero; // earlier it filled with more than 500 data
之后,我想创建另一个向量,它只占用mero
向量的一部分。(例如:从第 100 个到第 250 个)
(此链接std::vector
中的数字 4 )有一个构造函数,它需要两个迭代器。它构造一个新向量,包括从第一个迭代器(包括)到第二个迭代器(不包括)的所有元素。
std::vector<std::string> partOfMero(mero.begin() + 100, mero.begin() + 250);
这将包括mero[100]
在mero[249]
新构建的向量中。
std::vector
有一个带有两个迭代器的构造函数,因此您可以指定要复制的范围:
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)
这将构造v2
使得它包含所有元素的副本 fromv1.begin()+100
到 one before v1.begin()+250
。