我有一个std::vector,我想要一个单独std::vector包含原始向量的最后n个元素.除了一个接一个地插入整个矢量的循环之外,还有更简洁的方法吗?
joh*_*ohn 20
int n = 5;
std::vector<int> x = ...;
std::vector<int> y(x.end() - n, x.end())
Run Code Online (Sandbox Code Playgroud)
当然,如果x.size()<n,这将崩溃并刻录
为了详细说明,vector(就像大多数STL容器一样)有一个带有一对迭代器的构造函数.它将使用第一个迭代器中的所有项填充向量,直到第二个迭代器.