向前插入迭代器

*
 *向前插入迭代器,是架构在具有push_front向前插入函数的序列容器(比如deque list)上的输出迭代器,可以利用
 *改迭代器提供的“++”,“*”,“=”以“*fii++=9;”的类似的形式完成容器元素的赋值。
 *
 *其中“*”和"++"只是简单的返回对象本身:“*this”,所以必须和“=”操作一起使用才有意义。
 **/
#include "stdafx.h"
#include <iostream>
#include <algorithm>
#include <iterator>
#include <deque>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	deque<int>v;
	for(int i=0;i<5;++i){
		v.push_back(i);
	}

	front_insert_iterator<deque<int> >fii(v);
	copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
	cout<<endl;

	*fii++=9;
	*fii++=11;
	copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));

	return 0;
}
时间: 2024-09-19 09:56:06

向前插入迭代器的相关文章

容器大小的改变以及容器操作可能使迭代器失效、vector对象的容量变化

1 改变容器的大小 我们可以使用resize来增加或缩小容器,与往常一样,array不支持resize.如果当前大小大于所要求的大小,容器后面的元素会被删除:如果当前大小小于新大小,会将新元素添加到容器后部:  list<int> ilist(10,42);   //10个int:每个的值都是42 ilist.resize(15);   //将5个值为0的元素添加到ilist的末尾 ilist.resize(25,-1);  //将10个值为-1的元素添加到ilist的末尾 ilist.res

STL之再探迭代器

插入迭代器 迭代器被绑定到一个容器上,可用来向容器插入元素. back_inserter创建一个使用push_back的迭代器 front_inserter创建一个使用push_front的迭代器 inserter创建一个使用insert的迭代器,此函数接受哦第二个参数,这个参数必须是指向一个给定容器的迭代器.元素将被插入到给定迭代器所表示的元素之前. list<int> lst = {1,2,3,4}; list<int> lst1, lst2; //空list //拷贝完成之后

STL--迭代器(iterator)

指针与数组 指针与其它数据结构呢?比如说链表? 存储空间是非连续的.不能通过对指向这种数据结构的指针做累加来遍历. 能不能提供一个行为类似指针的类,来对非数组的数据结构进行遍历呢?这样我们就能够以同样的方式来遍历所有数据结构(容器). 迭代器(Iterator)是指针(pointer)的泛化,它允许程序员以相同的方式处理不同的数据结构(容器).STL中有五种类型的迭代器,它们分别满足一定的要求.不同的迭代器要求定义的操作不一样. 箭头表示左边的迭代器一定满足右边迭代器需要的条件. 下面的图表画出

ACM STL容器和算法

1.4      STL 的组成 STL有三大核心部分:容器(Container).算法(Algorithms).迭代器(Iterator),容器适配器(container adaptor),函数对象(functor),除此之外还有STL其他标准组件.通俗的讲: 容器:装东西的东西,装水的杯子,装咸水的大海,装人的教室--STL里的容器是可容纳一些数据的模板类. 算法:就是往杯子里倒水,往大海里排污,从教室里撵人--STL里的算法,就是处理容器里面数据的方法.操作. 迭代器:往杯子里倒水的水壶,

STL学习小结 .

from:http://blog.csdn.net/byxdaz/article/details/4633826#comments STL就是Standard Template Library,标准模板库.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些"容器"有list, vector,set,map等,STL也是算法和其它一些组件的集合.这里的"容器"和算法的集合指的是世界上很多聪明人很多年的杰作

三十分钟掌握STL

三十分钟掌握STL 这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它.文中我省略了很多东西.心疼那,浪费我两个晚上. 译者:kary contact:karymay@163.net STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以用它

深入理解C++中的vector类的用法及特性_C 语言

//<vector> template < class T, class Alloc = allocator<T> > class vector; 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能够存放任意类型的动态数组. vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为

三十分钟掌握STL-教程_WML教程

三十分钟掌握STL 这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它.文中我省略了很多东西.心疼那,浪费我两个晚上. 译者:kary contact:karymay@163.net STL概述 STL的一个重要特点是数据结构和算法的分离.尽管这是个简单的概念,但这种分离确实使得STL变得非常通用.例如,由于STL的sort()函数是完全通用的,你可以用它

Word制作表格的技巧

·隐藏表格线 选定整个或部分表格,单击右键,从下拉快捷菜单中执行"边框与底纹",选择无边框即可. ·垂直对齐 除了水平方向的对齐以外,在表格中我们还经常用到垂直方向的对齐,特别是在同一行中不同单元格的文字高度不一致时.选定你要设置垂直对齐的单元格,单击右键,在下拉快捷菜单的"对齐方向"中你可以选择"顶端对齐"."垂直居中"和"底端对齐". ·插入行和列的技巧 通常插入行是向前插入,插入列是向左插入.在底边增