如何直接获取vector的子数组
时间: 2024-09-20 08:12:42 浏览: 43
1.创建数组_数组创建_
在C++中,如果你有一个`std::vector<T>`类型的容器,并想要获取其部分元素作为另一个子向量,可以使用`substr()`函数或者`begin()`和`end()`迭代器来创建一个新的`vector`。以下是两种方法:
1. 使用`substr()`函数:
```cpp
std::vector<T> parent_vector; // 假设这是你的原向量
size_t start_index = 0; // 起始索引
size_t length = 5; // 子数组长度
// 创建子向量
std::vector<T> sub_array = parent_vector.substr(start_index, length);
```
这将从`parent_vector`的起始索引开始截取指定长度的连续元素。
2. 使用`begin()`和`end()`迭代器:
```cpp
std::vector<T>::iterator begin_sub = parent_vector.begin() + start_index;
std::vector<T>::iterator end_sub = begin_sub + length;
// 创建子向量并确保不会超出边界
std::vector<T> sub_array(parent_vector.begin(), end_sub);
```
这里首先找到起始位置的迭代器,然后移动到结束位置,再创建一个新的`vector`,包含这个区间的所有元素。
阅读全文