
C++ STL专题
文章平均质量分 60
lsm307742191
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
迭代器的编程
使用迭代器编程现在我们将关注每种特定的迭代器如何使用。由于使用迭代器需要关于STL容器类和算法的知识。一个指针也是一种迭代器。该程序同样显示了STL的一个主要特性——它不只是能够用于它自己的类类型,而且也能用于任何C或C++类型。Listing 1, iterdemo.cpp, 显示了如何把指针作为迭代器用于STL的find()算法来搜索普通的数组。表 1. iterdemo.原创 2008-12-29 21:55:00 · 1766 阅读 · 0 评论 -
泛型函数总表
泛型函数简表 0. accumlate:iterator对标志的序列中的元素之和,加到一个由init指定的初始值上。重载的版本不再做加法,而是传进来的二元操作符被应用到元素上。adjacent_different:创建一个新序列,该序列的每个新值都代表了当前元素与上一个元素的差。重载版本用指定的二元操作计算相邻元素的差。adjacent_find:在itera原创 2008-12-29 22:33:00 · 909 阅读 · 0 评论 -
迭代器的本质
迭代器的本质是--重载运算符和封装指针。算法使用迭代器来访问数据结构中的元素,实现了算法和数据结构的分离。使算法不依赖于特定的数据结构。原创 2008-12-30 11:38:00 · 1079 阅读 · 1 评论 -
函数和函数对象
STL函数对象 为使类属性算法具有灵活性,STL常用函数重载机制为算法提供两种形式,算法的第一种形式使用的是常规操作来实现目标。在第二种形式中,算法可以根据用户指定的准则对元素进行处理。这种准则是通过函数对象来传递的。函数对象世纪上是重载了operator()的类模版。STL提供了许多函数对象,这些对象包含在头文件中。函数对象说明算术函数对象:原创 2008-12-29 22:30:00 · 904 阅读 · 0 评论 -
STL修改算法
修改算法:算法 用法说明copy OutIt copy(InIt first,InIt last,OutIt x); 将[first,last)之间的元素复制到x指定的位置 copy_backward BidIt2 copy_backward(BidIt1 first,BidIt1 last,BidIt2 x); 将[first,las原创 2008-12-29 22:35:00 · 631 阅读 · 0 评论 -
迭代器的分类
1、输入迭代器:只读,一次传递 为输入迭代器预定义实现只有istream_iterator和istreambuf_iterator,用于从一个输入流istream中读取。一个输入迭代器仅能对它所选择的每个元素进行一次解析,它们只能向前移动。一个专门的构造函数定义了超越末尾的值。总是,输入迭代器可以对读操作的结果进行解析(对每个值仅解析一次),然后向前移动。 2、输出迭代器:只写,一原创 2008-12-29 17:06:00 · 3960 阅读 · 0 评论 -
适配器的编程
反向迭代器 反向迭代器是一种反向遍历容器的迭代器。也就是,从最后一个元素到第一个元素遍历容器。反向迭代器将自增(和自减)的含义反过来了:对于反向迭代器,++运算将访问前一个元素,而--运算则访问下一个元素。 (1)反向迭代器需要使用自减操作符:标准容器上的迭代器(reverse_iterator)既支持自增运算,也支持自减运算。但是,流迭代器由于不能反向遍历流,因此流迭原创 2008-12-31 20:03:00 · 692 阅读 · 0 评论