std::vector如何插入读取
时间: 2024-09-20 09:17:37 浏览: 38
C++插入SQLite数据库的BLOB字段
`std::vector`是C++标准库中的一个动态数组容器,提供了在内存中高效存储和操作同类型元素的功能。插入和读取(获取)元素是其常用的操作。
### 插入:
1. **在末尾添加元素**:你可以使用`push_back()`方法向vector的末尾添加新元素。例如:
```cpp
std::vector<int> vec;
vec.push_back(5); // 在末尾添加整数5
```
2. **指定位置插入**:如果你想在特定索引处插入元素,可以先调整后续元素的位置,然后使用`insert()`函数。例如:
```cpp
vec.insert(vec.begin() + 2, 3); // 在索引2处插入整数3
```
`insert(it, value)`会在迭代器`it`之前插入`value`。
3. **范围插入**:如果你有一个已知大小的连续数据段想要插入,可以使用`insert()`配合迭代器范围。例如:
```cpp
std::vector<int> data{1, 2, 3};
vec.insert(vec.begin(), data.begin(), data.end()); // 将data的数据插入到vec开头
```
### 读取(获取)元素:
1. **访问单个元素**:你可以通过索引来获取或修改元素,如`vec`将返回第一个元素。
2. **循环遍历**:使用`for (const auto& elem : vec)`这样的范围for循环可以逐个读取所有元素。
3. **查找元素**:如果需要根据值查找元素,可以使用`find()`方法,如`auto it = vec.find(3);`找到第一个等于3的元素(返回的是一个迭代器)。
```cpp
int index = std::distance(vec.begin(), find(vec.begin(), vec.end(), 3)); // 查找3并得到其索引
```
阅读全文