20140404 TCPL 第三章 标准库概览

来源:互联网 发布:instabox 软件 编辑:程序博客网 时间:2024/05/18 02:29

前言-要是即刻就忘,何必费时去学?


没有任何一个重要程序只是用某种赤裸裸的程序设计语言写出的。首先总是要开发出一组支持库,这也就形成进一步工作的基础。


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()中铺货公共的异常。



0 0
原创粉丝点击