前言-要是即刻就忘,何必费时去学?
没有任何一个重要程序只是用某种赤裸裸的程序设计语言写出的。首先总是要开发出一组支持库,这也就形成进一步工作的基础。
vector<T> 变长向量
list<T> 双向链表
queue<T> 队列
stack<T> 堆栈
deque<T> 双端队列
priority_queue<T> 按值排序的队列
set<T> 集合
multiset<T> 集合,值可以重复出现
map<key, value> 关联数组
multimap<key, value> 关联数组,关键字可以重复出现
ifstream就是可以附着到文件上的istream
ofstream是可以附着到文件上的ostream
遍历和谓词 用于控制算法的函数被称为谓词。
标准库模板mem_fun() 以一个到成员函数的指针为参数,产生出某种东西,使它可以对某个指向该成员所在的类的指针调用。
标准库提供了数十个算法,都定义在命名空间std里,在头文件<algorithm>里描述。
for_each() 对每一个元素调用函数
find() 找出参数的第一个出现
find_if() 找出第一个满足谓词的元素
count() 统计元素的出现次数
count_if() 统计与谓词匹配的元素
replace() 用新值取代元素
replace_if() 用新值取代满足谓词的元素
copy() 复制元素
unique_copy() 复制元素,不重复
sort() 对元素排序
equal_range() 找到所有具有等价值的元素
merge() 归并排序的序列
作者忠告:
1、不要像重新发明车轮那样企图做每一件事,学会去使用库。
2、要理解你的库能够做什么,它们如何做,它们做时需要多大的代价。
3、应该优先使用标准库而不是其他库
4、不要认为标准库对于任何事情都是最理想的。
5、切记#include你所用到的功能的头文件。
6、标准库的功能定义在命名空间std中。
7、使用string替代*char
8、如果要向容器中添加元素,用push_back或back_inserter
9、在main()中铺货公共的异常。