STL之--插入迭代器(back_inserter,inserter,front_inserter的区别)
2017-12-19 20:06
302 查看
除了普通迭代器,C++标准模板库还定义了几种特殊的迭代器,分别是插入迭代器、流迭代器、反向迭代器和移动迭代器,定义在
首先,什么是插入迭代器?插入迭代器是指被绑定在一个容器上,可用来向容器插入元素的迭代器。
由于list容器类型是双向链表,支持push_front和push_back操作,因此选择list类型来试验这三个迭代器。
2
3
4
5
6
7
8
9
由示例便可轻易看出这三者的区别了。
原文地址:http://blog.csdn.net/github_35681219/article/details/52564780
<iterator>头文件中,下面主要介绍三种插入迭代器
(back_inserter,inserter,front_inserter)的区别。
首先,什么是插入迭代器?插入迭代器是指被绑定在一个容器上,可用来向容器插入元素的迭代器。
back_inserter:创建一个使用push_back的迭代器
inserter:此函数接受第二个参数,这个参数必须是一个指向给定容器的迭代器。元素将被插入到给定迭代器所表示的元素之前。
front_inserter:创建一个使用push_front的迭代器(元素总是插入到容器第一个元素之前)
由于list容器类型是双向链表,支持push_front和push_back操作,因此选择list类型来试验这三个迭代器。
list<int> lst = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; list<int> lst2 ={10}, lst3={10},lst4={10}; copy(lst.cbegin(), lst.cend(), back_inserter(lst2)); //lst2包含10,1,2,3,4,5,6,7,8,9 copy(lst.cbegin(), lst.cend(), inserter(lst3, lst3.begin())); //lst3包含1,2,3,4,5,6,7,8,9,10 copy(lst.cbegin(), lst.cend(), front_inserter(lst4)); //lst4包含9,8,7,6,5,4,3,2,1,101
2
3
4
5
6
7
8
9
由示例便可轻易看出这三者的区别了。
原文地址:http://blog.csdn.net/github_35681219/article/details/52564780
相关文章推荐
- STL之--插入迭代器(back_inserter,inserter,front_inserter的区别)
- C++语法基础--泛型算法(generic algorithm)--插入迭代器back_inserter(),front_insertor(),inserter()以及next()函数简介
- 插入迭代器 back_inserter、front_inserter、inserter
- 从零开始学C++之STL(十):迭代器适配器{(插入迭代器back_insert_iterator)、IO流迭代器(istream_iterator、ostream_iterator)}
- 迭代器适配器(一)back_inserter和front_inserter的实现
- STL中,back_insert_iterator与back_inserter的区别。
- 迭代器适配器(一)back_inserter和front_inserter的实现
- C++ STL begin()和front()、end()和back()的区别与用法
- C++ STL begin()和front()、end()和back()的区别与用法
- STL使用list的成员函数push_back和push_front插入一个元素到list中
- STL(十):迭代器适配器{(插入迭代器back_insert_iterator)、IO流迭代器(istream_iterator、ostream_iterator)}
- back_inserter 11.2.2- 3 插入迭代器
- **c++ stl 顺序容器: begin(),end()和front(),back()区别和使用**
- C++之STL(十):迭代器适配器{(插入迭代器back_insert_iterator)、IO流迭代器(istream_iterator、ostream_iterator)}
- 从零开始学C++之STL(十):迭代器适配器{(插入迭代器back_insert_iterator)、IO流迭代器(istream_iterator、ostream_iterator)}
- 顺序容器的begin,front,end,back的区别
- STL中的back()&&end()||front()&&begin()辨析
- list(链表)常用成员(顺序容器)----插入push_back,push_front,insert删除pop_back,pop_front,erase,clear遍历begin,end判空em
- c++迭代器详解(一):back_inserter, front_inserter,inserter
- C++STL中vector容器 begin()与end()函数、front()与back()的用法