Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24858
  • 博文数量: 33
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-06 22:37
文章分类
文章存档

2015年(33)

我的朋友
最近访客

分类: C/C++

2015-10-11 21:28:07

     在正式开始复习以前就已经对泛型算法有了些认识,算法说明其实现了一些共同的操作;而泛型则说明其与具体的容器类型和容器元素类型无关。之前在顺序容器中我们已经使用过find算法,接受一个迭代器指明的范围,查找特定的元素。泛型算法的设计基于迭代器,脱离开具体的容器关联,因此泛型算法不会调用容器定义的操作。今天粗略看了看了这部分,大致有个了解,由于类似于C标准库,需要的时候来查就可以了,今天就简单说一说感性认识的部分。
     C++标准库定义了许多算法,这些泛型算法都遵循统一的设计模式。一种区分的模式是根据不同算法对容器元素的操作作为标准:比如
--只读算法,不改变元素的值和顺序;
--给指定元素赋新值的算法;
--将一个元素的值移给另一个ie元素的算法;
     除了这一种,还可以根据算法函数的形参来区分:
------alg(beg, end, other parms);              //beg,end标记输入范围
------alg(beg, end, dst, other parms);       //dst标记输出范围的首位置
------alg(beg, end, beg2, other parms);    //beg2标记了第二个输入位置,但是没有指明输入结束的位置
------alg(beg, end, beg2, end2, other parms);//两个输入范围段
     先写到这里吧,以后需要的时候再补充。
阅读(257) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~