c++中insert的用法
C++中的insert()函数用于在容器中的指定位置插入元素。它是一个成员函数,可以在许多STL容器中使用,如vector,list,set等。
函数原型如下:
```
iterator insert(iterator pos, const T& value); // 插入单个元素
void insert(iterator pos, size_type count, const T& value); // 插入多个相同值的元素
template <class InputIterator>
insert的固定搭配void insert(iterator pos, InputIterator first, InputIterator last); // 插入指定范围内的元素
```
其中,第一个函数用于插入单个元素,第二个函数用于插入多个相同值的元素,第三个函数用
于插入指定范围内的元素。
下面是使用insert()函数的示例:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v = {1, 2, 3, 4};
auto it = v.begin() + 2; // 获取第三个元素的迭代器
// 在第三个位置插入元素 5
it = v.insert(it, 5);
for (auto i : v) {
cout << i << " "; // 输出 1 2 5 3 4
}
cout << endl;
// 在第三个位置之前插入 3 个 6
v.insert(it, 3, 6);
for (auto i : v) {
cout << i << " "; // 输出 1 2 6 6 6 5 3 4
}
cout << endl;
// 在第三个位置之前插入一个数组中的元素
int arr[] = {7, 8};
v.insert(it, arr, arr + 2);
for (auto i : v) {
cout << i << " "; // 输出 1 2 7 8 6 6 6 5 3 4
}
cout << endl;
return 0;
}
```
注意:在使用插入操作时,如果容器需要重新分配内存,那么所有迭代器都会失效,因此要特别小心。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论