Effective STL 读书总结

Effective STL 中文版 潘爱民 陈铭 邹开红 译)

这里是看书过程做的读书笔记(点击打开链接),花了不少功夫写的,对每个条款做了一个概括性的描述。看这本书之前最好是对STL的基本的操作熟悉,如果你从没有用过STL编程,或者甚至完全没有听过STL,那么还是先找一本C++ Primer(我看的是C++ Primer Plus)之类的入门书籍好好看一看吧。


看这本书我用STL也有一段时间了,自以为用的还不错,起码在做算法题的时候用STL还是挺顺手的,不过当我看了这书前几条的时候我就发现自己对STL的了解太肤浅了,以前用的最多是都是vector, list, set, map容器和sort之类的操作,可以说主要是使用STL中提供的方便的数据结构。而对于transform这样强大的算法基本没有用过,对于迭代器也只知道迭代是iterator,操作起来跟指针差不多,对于其实现原理完全不了解。对于函数对象、函数子这样概念也不清楚,只知道是这样用。可以说在看这本书之前我对于STL完全可以说是门外汉!


看完之后收获是巨大的,完全被作者那些精妙的STL操作折服,每次看到一个新功能,我就感叹原来这玩意还可以这样用,最让我惊奇是istream_iterator,没想到一个迭代器就把istream和STL联系起来了,以后如果读取数据文件直接使用istream_iterator,那真是方便快捷。迭代器(iterator)真是个了不起的构想,使用迭代器统一了对STL的各种操作,迭代器也是STL中非常非常重要的一个概念,如果你也不知道什么是迭代器的话,那么建议你好好看一看Effective STL,全书不过200页唯一不足的就是我实在想不到它为什么叫迭代器,第一次听到这名字时完全不知道是个啥东西,觉得有必要取个更好的名字!


除了各种容器的头文件之外,下面 几个头件中的玩意都非常强大,也是STL非常重要的组成部分,没事经常查看一下,说不定你能发现对你正在编写的程序非常有的工具。

<algorithm>:各种算法模板,针对容器,参数一般为迭代器,非常强大。

<iterator>:迭代器。提供各种类型的迭代器定义,我觉得比较有用的inserter型的迭代器,配合copy使用很方便。

<functional>:函数子。像那种两数比较大小啊,两数相乘啊之类的函数以后就不要自己写,这里都有,而且都是模板函数,强大无比。而且还提供了bind绑定器,使用STL编程,你有必要了解它。


另外书中多次提到The C++ Standard Library : A Tutorial and Reference一书。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值