C++ 从向量生成子列表<;int>;在C++;

C++ 从向量生成子列表<;int>;在C++;,c++,stl,C++,Stl,有没有一个内置的STL方法可以做到这一点 中有列表.Abjor(a,b),用于提取[a,b ]。在STL C++中,类似的方法 可以: #include <vector> #include <cassert> int main() { std::vector<int> x; for (int i=0; i<10; ++i) { x.push_back(i); } // Here we create a

有没有一个内置的STL方法可以做到这一点

中有列表.Abjor(a,b),用于提取[a,b ]。在STL C++中,类似的方法

可以:

#include <vector>
#include <cassert>

int main() {
    std::vector<int> x;

    for (int i=0; i<10; ++i) {
        x.push_back(i);
    }

    // Here we create a copy of a subsequence/sublist of x:
    std::vector<int> slice_of_x(x.begin() + 3, x.begin() + 7);

    assert(slice_of_x.size() == 7-3);
    assert(slice_of_x[0] == 3);

    return 0;
}
#包括
#包括
int main(){
std::向量x;
对于(inti=0;i当然

std::向量子列表(&originalVector[a]、&originalVector[b]);
当然可以

std::vector<int> subList(originalVector.begin() + a, originalVector.begin() + b);
std::向量子列表(originalVector.begin()+a,originalVector.begin()+b);

所以这是使用迭代器的一个优点,通过扩展向量模板。这里有人认真吗?我找不到这两个函数中的任何一个!
slice\u of_x
不是一个函数,它使用具有迭代器范围的构造函数创建一个新实例它是向量构造函数之一
slice\u of_x
是na吗Kerrek SB-指针是一种迭代器,这是正在调用的迭代器构造函数中的向量。没有办法获得迭代器(由
向量::begin()
返回的类型)对于
向量中的任意一点,是否存在?@Chris:
originalVector.begin()+a
可以,这将适用于所有随机访问容器:-)@Kerrek:该要求仅适用于
向量
。因此YAGNI。@DeadMG你是说begin()+a只适用于向量吗?
std::vector<int> subList(originalVector.begin() + a, originalVector.begin() + b);