2.概括
Posted billxyd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.概括相关的知识,希望对你有一定的参考价值。
一。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.概括的主要内容,如果未能解决你的问题,请参考以下文章