导航

C++ STL小知识

Posted on 2016-01-15 11:18  ggzone  阅读(85)  评论(0编辑  收藏  举报

五种迭代器:

在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