📅  最后修改于: 2023-12-03 14:51:15.003000             🧑  作者: Mango
在C++ STL中,insert()函数用于在容器中插入元素。
insert()函数的语法如下:
iterator insert (const_iterator position, const value_type& val);
iterator insert (const_iterator position, size_type n, const value_type& val);
template <class InputIterator>
iterator insert (const_iterator position, InputIterator first, InputIterator last);
iterator insert (const_iterator position, value_type&& val);
iterator insert (const_iterator position, initializer_list<value_type> il);
这里,iterator
表示容器中的迭代器,const_iterator
表示常量迭代器,value_type
表示容器中存储的元素类型,size_type
表示无符号整数类型,InputIterator
表示输入迭代器,initializer_list
表示初始化列表。
position
- 插入元素的位置,必须是容器中的迭代器。val
- 要插入的值。n
- 需要插入的元素数量。first
,last
- 指定要插入的元素范围。il
- 初始化列表,指定要插入的元素。insert()函数返回插入元素后的迭代器指针,指向插入的第一个元素。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> vec{ 10, 20, 30, 40 };
// 在第二个元素后面插入50
auto iter = vec.insert(vec.begin() + 1, 50);
// 输出每个元素
for (auto i : vec)
cout << i << " ";
cout << endl;
// 输出返回的迭代器指针
cout << "Pointer to the inserted element: " << &(*iter) << endl;
return 0;
}
输出:
10 50 20 30 40
Pointer to the inserted element: 0050FCC4
在上面的例子中,我们使用insert()函数在一个vector中插入一个元素。我们首先将插入位置指定为第二个元素。然后,我们将值50传递给函数。函数返回插入的第一个元素的迭代器指针,并将其存储在iter变量中。我们使用for循环遍历容器中的所有元素,并输出它们的值。我们还输出了返回的迭代器指针,用&(*iter)获取该指针的地址。
在C++ STL中,insert()函数可以用于在容器中插入元素。它接受多种类型的输入参数,包括一个值、一组值、一个范围,以及一个初始化列表。insert()函数返回一个迭代器指针,指向插入的第一个元素。