后插型迭代器back_insert_iterator的使用前提、定义方法;
时间: 2023-12-10 22:05:22 浏览: 38
后插型迭代器`back_insert_iterator`是用于向容器中添加元素的迭代器。其定义在头文件`<iterator>`中。
使用前提:要向容器中添加元素,且该容器必须支持`push_back`操作。
定义方法:使用`back_inserter`函数将容器包装成后插型迭代器,示例如下:
```cpp
#include <iostream>
#include <vector>
#include <iterator>
int main() {
std::vector<int> vec{ 1, 2, 3 };
std::back_insert_iterator<std::vector<int>> inserter{ vec };
*inserter = 4;
std::copy(vec.begin(), vec.end(), std::ostream_iterator<int>(std::cout, " "));
std::vector<int> new_vec;
std::copy(vec.begin(), vec.end(), std::back_inserter(new_vec));
std::copy(new_vec.begin(), new_vec.end(), std::ostream_iterator<int>(std::cout, " "));
return 0;
}
```
上述代码中,使用`std::back_inserter`函数将`vec`容器包装成后插型迭代器`inserter`,并通过`*inserter = 4`操作向容器中添加元素。另外,也可以将`back_insert_iterator`作为算法的输出迭代器,将容器中的元素插入到另一个容器中,示例代码中的`new_vec`就是这样一个容器。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)