使用一个东西,却不明白它的道理,不高明!
源码之前,了无秘密!
容器的文档
-
gnu lib std 源码 gcc/libstdc++-v3 at master · gcc-mirror/gcc (github.com)
STL 六大部件
less是比较两个数据小于,bind2nd是把40传给less,当做less的第二个参数。notl
是取反。count_if是统计数量。因此,打印的内容为:遍历数组,统计数组中不小于40的数字个数。
容器 -结构与分类
Array:大小固定
Vector:会在后端自动增长(可以无限push_back)
Set、Multiset、Map、Multimap在内部是用红黑树实现的。
unordered_multiset、unordered_map 用的是hashtable。
Multiset:value可以重复
Multimap: key可以重复
Deque的数据结构
容器中使用的数据结构
锁进指的has-a的关系。如heap的实现,靠has-a vector. set的实现靠has-a rb_tree