```cpp C++ STL(Standard Template Library) ├── 容器 Containers │ ├── 顺序容器(Sequence containers) │ │ ├── vector │ │ ├── deque │ │ ├── list │ │ ├── forward_list │ │ ├── array │ │ └── string(非正式容器) │ ├── 关联容器(Associative containers)【红黑树】 │ │ ├── set │ │ ├── multiset │ │ ├── map │ │ └── multimap │ ├── 无序容器(Unordered containers)【哈希表】 │ │ ├── unordered_set │ │ ├── unordered_multiset │ │ ├── unordered_map │ │ └── unordered_multimap │ └── 容器适配器(Container adapters) │ ├── stack │ ├── queue │ └── priority_queue │ ├── 算法 Algorithms │ ├── 非变序算法(不修改元素) │ │ ├── for_each │ │ ├── count, count_if │ │ ├── find, find_if, find_if_not │ │ ├── all_of, any_of, none_of │ │ ├── min_element, max_element │ ├── 变序算法(会修改序列) │ │ ├── sort, stable_sort, partial_sort │ │ ├── reverse, rotate │ │ ├── copy, move, swap │ │ ├── remove, unique │ │ ├── transform │ ├── 排列组合相关 │ │ ├── next_permutation │ │ ├── prev_permutation │ │ ├── is_permutation │ ├── 归并、集合操作 │ │ ├── merge │ │ ├── includes │ │ ├── set_union, set_intersection │ │ ├── set_difference, set_symmetric_difference │ └── 数值算法 │ ├── accumulate │ ├── inner_product │ ├── adjacent_difference │ └── partial_sum │ ├── 迭代器 Iterators │ ├── 输入迭代器 InputIterator │ ├── 输出迭代器 OutputIterator │ ├── 前向迭代器 ForwardIterator │ ├── 双向迭代器 BidirectionalIterator │ ├── 随机访问迭代器 RandomAccessIterator │ └── 常用工具 │ ├── begin(), end() │ ├── rbegin(), rend() │ ├── back_inserter(), inserter() │ └── advance(), distance(), next(), prev() │ ├── 函数对象 Function Objects(仿函数 Functors) │ ├── plus, minus, multiplies, divides, modulus │ ├── equal_to, not_equal_to, greater, less, greater_equal, less_equal │ ├── logical_and, logical_or, logical_not │ ├── bind, bind1st, bind2nd(C++11 前) │ └── lambda 表达式(C++11 起替代大部分) │ ├── 分配器 Allocators(内存管理器) │ ├── std::allocator(默认分配器) │ ├── 可以自定义自己的 allocator(进阶用法) │ ├── 配接器(Adapters) │ ├── 容器适配器:stack, queue, priority_queue(见容器) │ ├── 函数适配器:bind、function、mem_fn、not1、not2 │ ├── 迭代器适配器:reverse_iterator, insert_iterator 等 │ ├── 实用组件 Utilities │ ├── pair(std::pair、make_pair) │ ├── tuple(C++11) │ ├── optional(C++17) │ ├── variant(C++17) │ ├── any(C++17) │ ├── bitset │ ├── chrono(时间库) │ ├── ratio(比例) │ ├── type_traits(模板元编程工具) │ ├── numeric_limits │ └── initializer_list(支持 `vector v = {1,2,3}`) ```