首页 > 其他 > 详细

2.概括

时间:2017-08-29 10:45:41      阅读:242      评论:0      收藏:0      [点我收藏+]

一。STL六大组件

1.容器(container),各种数据结构: vector, deque, list, forward_list, array, set, multiset, map, multimap, unordered_set, unordered_multiset, 

unordered_map, unordered_multimap. 从实现的角度来讲,STL容器是一种class template。

2.算法( algorithm),各种算法例如: sort, search, earse, copy。从实现角度来说,算法是一种function template.

3.迭代器(iterator)容器和算法之间的粘合剂,是所谓的“泛型指针”,从实现的角度迭代器是一种将 operator*, operator->, operator++, operator--

等指针相关操作重载的一种class template。

4.仿函数(functor)行为类似函数,可作为某种算法的策略(policy),从实现的角度来讲是一种重载的operator()的class或者 class template。

5.适配器(adapter) 一种用来修饰容器(container),或者仿函数(functor),或者迭代器(iterator)接口的东西。例如STL提供的queue和stack
虽然看似容器,但是只是一种容器适配器。因为他们底层完全借助于deque,所有操作都是由底层的deque供应。改变functor借口,称为functor adapter。
改变container接口,称为container adapter。改变iterator借口,称为iterator adapter。

2.概括

原文:http://www.cnblogs.com/billxyd/p/7447014.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!