《c++ primer》读书笔记1

来源:互联网 发布:java项目没有web.xml 编辑:程序博客网 时间:2024/05/01 01:16

大笑微笑生气吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头生气微笑大笑


偷笑我爱北京天安门偷笑


偷笑天安门上太阳升偷笑


偷笑伟大领袖毛主席偷笑


偷笑指引我们向前进偷笑

偷笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑偷笑

<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">笔记的范围:第一篇的引言和</span><span lang="EN" style="FONT-SIZE: 15pt">1.1</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节</span><span lang="EN" style="FONT-SIZE: 15pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></span></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span lang="EN" style="FONT-SIZE: 15pt"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">因为以前的读书习惯,我对这本书的开头抱着一种轻视的态度。自以为是的认为那不过是类似开场白那样的成篇废话。事实证明我错了。在不到四页的内容里。作者就一点不给面子的指出了我在读这本书之前的几个错误观点、</span><span lang="EN" style="FONT-SIZE: 15pt"><o:p></o:p></span></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第一:对</span><span lang="EN" style="FONT-SIZE: 15pt">oop</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的理解,这里我不得不指出在国内大部分本科教材中把封装性作为</span><span lang="EN" style="FONT-SIZE: 15pt">oop</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的独有的特点之一、以至于让很多人</span><span lang="EN" style="FONT-SIZE: 15pt">(</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包括我</span><span lang="EN" style="FONT-SIZE: 15pt">)</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">认为写了个</span><span lang="EN" style="FONT-SIZE: 15pt">class</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就进入了</span><span lang="EN" style="FONT-SIZE: 15pt">oop</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的大门,这本书就明确的指出数据的封装只是对象的特点。是</span><span lang="EN" style="FONT-SIZE: 15pt">ADT</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的结果,设计方法的划分中属于基于对象(</span><span lang="EN" style="FONT-SIZE: 15pt">object based</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">),没有</span><span lang="EN" style="FONT-SIZE: 15pt">inheritance</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">机制和</span><span lang="EN" style="FONT-SIZE: 15pt">dynamic binding</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">(动态绑定)的扩展就根本谈不上</span><span lang="EN" style="FONT-SIZE: 15pt">oop</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span><span lang="EN" style="FONT-SIZE: 15pt"><o:p></o:p></span></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第二:对</span><span lang="EN" style="FONT-SIZE: 15pt">c++</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的认识。作者明确指出</span><span lang="EN" style="FONT-SIZE: 15pt">c++</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一种多种设计方法集于一体的语言。而我们更多的是把他作为一种</span><span lang="EN" style="FONT-SIZE: 15pt">oop</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的语言来学习,把</span><span lang="EN" style="FONT-SIZE: 15pt">c++</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">理解为带类的</span><span lang="EN" style="FONT-SIZE: 15pt">c</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,个人认为这种错误的观点导致的一个严重的问题是,我们带着</span><span lang="EN" style="FONT-SIZE: 15pt">c</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的思想来学习</span><span lang="EN" style="FONT-SIZE: 15pt">c++</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,使得我们在应用过程中用的是</span><span lang="EN" style="FONT-SIZE: 15pt">c++</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">东西。比如</span><span lang="EN" style="FONT-SIZE: 15pt">class</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span><span lang="EN" style="FONT-SIZE: 15pt">I/o</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">流,但是我们思想还是</span><span lang="EN" style="FONT-SIZE: 15pt">c</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的,这使得我们难以接受</span><span lang="EN" style="FONT-SIZE: 15pt">oop</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以及其他设计方法;这使得我对认为学习</span><span lang="EN" style="FONT-SIZE: 15pt">c++</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,未必要学</span><span lang="EN" style="FONT-SIZE: 15pt">c</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的这种观点的真理性更深信不疑、</span><span lang="EN" style="FONT-SIZE: 15pt"><o:p></o:p></span></p> <p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第三:对编程习惯的认识。在</span><span lang="EN" style="FONT-SIZE: 15pt">1.1</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">节中作者提出了一个问题。而不是像很多教材千篇一律的以“</span><span lang="EN" style="FONT-SIZE: 15pt">hello world</span><span style="FONT-SIZE: 15pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">”开头。其实,我一直反对学习一种语言一上来就动手的习惯、正如这本书那样,从思维入手,对于任何问题都以一个工程的态度去面对,在这里作者提出了分而治之和独步求精的思想。对于一个还没养成坏习惯的初学者来说,这好处实在不可估量。</span><span lang="EN" style="FONT-SIZE: 15pt"> <span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp; </span>.<o:p></o:p></span></p> <p>&nbsp;</p>
原创粉丝点击