五种迭代器:
在STL中,迭代器主要分为5类,分别是:输入迭代器、输出迭代器、前向迭代器、双向迭代器和随机访问迭代器。
输入迭代器 :只读,支持++、==、!=;
输出迭代器 :只写,支持++;
前向迭代器 :读写,支持++、==、!=;
双向迭代器 :读写,支持++、--, C++的所有标准库容器都至少在双向迭代器的层次上 。;
随机访问迭代器 :读写,支持++、--、[n]、-n、<、<=、>、>=;
六种组件:
容器、算法、迭代器、仿函数、适配器和空间分配器
适配器是标准库中通用的概念,包括容器适配器、迭代器适配器和函数适配器。
容器:
顺序容器:
vector deque list forward_list array
关联容器:
map set multimap multiset unordered_map unordered_set
容器适配器:(C++书上说基于基本容器实现的好像基本容器一样的东西就是适配器)
stack queue priority_queue
特殊容器:
string bitset
set和map:
红黑树,排序
list:
双向链表
deque实现:
迭代器适配器:
反向迭代器reverse_iterator
插入迭代器back_inserter front_inserter
流迭代器ostream_iterator istream_iterator
函数适配器:
bind
mem_fn