Effective STL 读书总结
2013-08-01 19:47
260 查看
(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一书。
这里是看书过程做的读书笔记(点击打开链接),花了不少功夫写的,对每个条款做了一个概括性的描述。看这本书之前最好是对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一书。
相关文章推荐
- 《Effective STL》读书总结--关于STL 你不一定都懂的
- 《Effective STL》读书总结--关于STL 你不一定都懂的
- 机器学习实战读书总结
- 《深入理解Java虚拟机》个人读书总结——JAVA虚拟机内存
- [读书总结]-《哪有没时间这回事》
- 【读书总结】《挪威的森林》-(二)
- The Elements of Statistical Learning 读书总结(持续更新中)
- 《推荐系统实践》读书总结--个性化推荐系统的概念和应用
- Java内存模型知识点小结---《深入理解Java内存模型》(程晓明)读书总结
- 2016年读书总结(一)
- 李德哈特二战史的读书总结
- The Elements of Programming Style 读书总结
- 【读书总结】《遇见未知的自己》——认识世界
- 2012总结--第2篇--读书篇
- Effective STL 读书笔记 7
- 大型网站分布式架构设计与实践(读书总结)
- The C Programming Language 读书总结
- 深入理解计算机系统(CSAPP)读书总结
- 我的2016年读书总结
- 读书总结---三元操作符类型保持一致