重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
目录
10年积累的成都网站建设、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有敦化免费网站建设让你可以放心的选择与我们合作。1 适配器简介
2 适配器使用分类
2.1 容器适配器
2.2 函数适配器
2.2.1 常见的函数适配器
2.2.2 bind2nd
2.2.3 not1
2.2.4 新型适配器bind
2.3 迭代器适配器
2.3.1 reverse_iterator
2.3.2 insert_iterator
2.4 X适配器
2.4.1 ostream_iterator
2.4.2 istream_iterator
把一个原本存在的东西,改成我们需要的另一种东西(把类中的函数名称改一下,接口改一改(三个参数变两个参数)),比如stack就是deque的适配器,反向迭代器也是从迭代器上改造过来的,比如a是b的适配器,对于外部来说当然我们就用a就好了,b对于我们来说就是隐藏的,但是a它只起中间桥梁作用,活还是交给b来做(b是已经存在的好东西)。
适配器在STL组件的灵活组合运用功能上,扮演着轴承、转换器的角色。
适配器的实现方式有两种:继承和内含,STL普遍使用内含的方式。
适配器分为三类:迭代器适配器,容器适配器,仿函数适配器。
适配器分为三类:
STL提供两个容器适配器:queue和stack,它们修饰deque的接口而生成新的容器风貌stack的底层由deque构成。
从bind2nd这个函数,我们可以看到函数适配器的一些巧妙之处。
对于模板,我们知道:
vectorvec; //这个int表明我们必须声明类中元素类型
max(1,2); //即使我们不声明参数1和2的类型,函数max也可以为我们自动推导出他们的类型。
2.2.3 not1std::not1 是用来把符合某种特殊条件的『函数对象』转换为反义「函数对象」的函数。
2.2.4 新型适配器bind(1)所有bind相关的在c++11都用bind取代了,如图
(2)bind可以绑定函数、函数对象、成员函数、数据成员。
2.3 迭代器适配器 2.3.1 reverse_iteratorinsert iterator | 作用 |
---|---|
back_insert_iterator | 专门负责尾端的插入操作 |
front_insert_iterator | 专门负责首部的插入操作 |
insert_iterator | 可以从任意位置执行插入操作 |
前面总结的适配器有三大类(函数适配器,容器适配器,迭代器适配器),istream_iterator、ostream_iterator均不属于前面提到的三大类别,所以称为X适配器。
2.4.1 ostream_iterator2.4.2 istream_iterator你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧