一. 一些有用的网站
cplusplus.com等等
二. STL六大部件
1.容器
2.分配器
3.算法
4.迭代器
5.适配器
6.仿函数
一个包含这六个部件的小程序
int main(int argc, char** argv) {
int ia[6] = { 27,210,12,47,109,83 };
vector<int, allocator<int>> vi(ia, ia + 6);
cout << count_if(vi.begin(), vi.end(), not1(bind2nd(less<int>(), 40)));
//有not1就说明要选出大于等于40的数有几个
cout << endl;
system("pause");
return 0;
}
三. 容器结构化分类
1.Sequence Containers (序列式容器)
Array:要多少就设置多少,不可以越界
Vector:起点是不能动的,但是末端可以延伸扩充,容器背后的分配器来做这件事
Deque:双向队列,两端可进可出
List:标准库里的为双向链表
Forward-List:单向链表
2.Associative Containers (关联式容器)
set/Multiset 和 map/MultiMap
set的key和value是同一个
map有key-value
加Multi表示key可以重复
3.Unordered Containers (无序容器)
set和map前加上unordered即可
4.Hash Table separate chaining (分离链接法)
用来解决哈希碰撞