cpp vector数组的中间一段如何取出?
时间: 2024-02-25 14:58:42 浏览: 191
cpp代码-C++ STL之vector动态数组
要取出 vector 数组的中间一段,可以使用 `vector` 类的 `begin()` 和 `end()` 方法结合迭代器来实现。例如,如果要取出 vector 数组的第 2 到第 4 个元素,可以使用以下代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::vector<int>::iterator start = vec.begin() + 1;
std::vector<int>::iterator end = vec.begin() + 4;
std::vector<int> subVec(start, end);
for (auto i : subVec) {
std::cout << i << " ";
}
return 0;
}
```
以上代码输出:
```
2 3 4
```
其中,`vec.begin()` 返回指向数组第一个元素的迭代器,`vec.end()` 返回指向数组最后一个元素的下一个位置的迭代器。因此,`vec.begin() + 1` 返回指向数组第二个元素的迭代器,`vec.begin() + 4` 返回指向数组第五个元素的迭代器。然后,使用两个迭代器来构造一个新的 `vector` 数组 `subVec`,其中包含第二个到第四个元素。
阅读全文