笔记范围:2.8节
从本章开始,我们就一直沿着一条主线前进,跟着作者设计了一个比较完整的array类,从设计的角度来说,(当然除了库的实现者外)我们没有必要花那么多时间在实现数据结构上,只要调用各种库,我们就可以把自己精力放在更重要的设计上了,在今天,对于库的使用,几乎成了程序设计能力的重要指标之一,作为初学者,首先要学的当然是已经和语言合为一体的标准库了,而在所有的数据结构中,用的最多的无疑是线性表了。本书的标准库描述当然也从这里开始,
本节的内容这章来说算是最简单的了,vector的一般用法和内置数组几乎没什么差别,初学者很容易理解,当然个人认为。如果仔细看的话还是有些东西值得注意和思考的,下面将其列出:
一.标准库的设计理念。正如作者提到的:vector并不是像前几节中设计array那样提供一个大而全的方法集合,而是提供了最小的接口集合,把那些具有通用性的方法单独组成泛型算法。可以使用在各种数据结构上,这个思想正好反映了作者在本章开头提出的问题,设计一个类,是要尽量让他成为语言的一等公民,而不是设计一个面面俱到的东西。
二.对于iterator的初步认识,这个也许是本节唯一的难点了,迭代器?很多初学者对这个陌生的术语不理解。但他几乎是这个泛型算法的基础,因此我们现在至少要对于有些初步的认识,以保证下面的阅读,为了达到这个目的,我们仔细的看了下书中的例子、不难发现他与指针的用法几乎完全相同。因此事实上,你就可以把他当成指针的一种类模板,当你读到十五章重载->的时候你就可以理解这样做的好处了,另外还有一些特殊的iterator,比如begin().end().书上都有详细的说明,仔细看看,我的建议是不求全解,但起码得会模仿,
本章结束了,我们对于c++也有了一个比较整体的理解了,下面我想对于一些朋友对我的笔记的一些建议,作一个简单的回答,到现在为止我写的东西,都是一些人人都知道的东西,作为真正的笔记是罗索了点,正如这两章的目的想让初学者有个语言的整体理解一样,我的这些笔记的根本目的也是尽可能的向各位初学c++的朋友推荐这本好书,和让大家习惯作者的描述方式的思路,因此我评论了些书以外的东西,对比下,以便更好的推荐这本书。作为学生,我对于一切教育工作者(比如谭浩强老师)都是尊敬的。但是这本书的确比他们写的好些,
从下章开始,让笔记回归本来的面貌把。我不再严格按照小节来写他了。毕竟这本书我已经看完了。我将根据具体内容。把整本书中前后提到的相关内容结合起来,把我自己完整的理解写出来。当然这样做会暴露出更多的问题。希望大家给我更多的指点,谢谢大家的支持,尤其饮水思源和水木清华及复旦光华站的各位朋友