读C++ Primer 一点收获

以前总是看别人的博客,且听说搞IT的应该有总结收获和分享的习惯,于是乎有了写的冲动。最近刚看完C++ Primer 4th,感觉收获还是挺多的,借博客记录之。

      看这本书的动机一大半是问了充实自己便于两年后的找工作。之前对C++的了解完全来源于大一、大2时的课程。从类之后时,就开始一头雾水了,最多也是课上听懂,课下忘之。。。。结果可想而知,我也就只会用数组、指针和循环语句编写简单的程序。看看周围同学时不时冒出一大堆我根本就没听过的编程词语时,不禁觉得自己太弱。

     言归正传,还是说说看书的收获。

1、将一本700+页的书在不到一个月内看完,让我感受到了坚持的力量。每天的量不多,开始是10页/天,后来20页/天,每天大约要花2小时(很慢吧),可贵的是我坚持下来了,而且我发现每天的20页都能给我带来新鲜的知识和想法。

2、第4版的不同在于介绍了很多标准库类和函数的用法,不仅方便编程而且让我模糊的感到模块化的强大。比较重要的容器和迭代器的概念。其实都不难,就是数组和指针的升级版,但由于加入了一些成员函数,用起来相当方便。容器和迭代器应该是互相依赖,如果定义了容器,一般需要有相应容器的迭代器来实现一部分访问操作,迭代器离不开特定的容器。既然都进标准库了,它们的代码的在设计和实现上自然效率更高,所以打算今后的编程中多练习下容器和迭代器的使用。

3、最重要的收获是对面向对象的程序设计的了解,明白继承、多态的意义。最好的例子当然是书中的文本查询的设计了。例子要实现的功能是:(1)基本要求,对于给定的文档,查找给定单词在文档中出现的行并统计出现的行数显示相应行的内容。(2)能实现word & word,word | word和~word这样的组合查询。书中的设计很高明,首先通过定义句柄类Query作为查询单词或单词组合的接口,即当执行Query q = Query(“word1”) & Query(“word2”) | ~Query(“word3”)后,q就是查询结果了,这样的设计太方便了使用了!还定义了WordQuery、AndQuery、NotQuery、 OrQuery和Query_base等,前四个类都是最后一个的子类。研究发现,这些类的作用不完全是完成具体的查询,而是将不同的查询(& | ~ 等)进行区分。这样的好处是当类设计好后可以进行不限制的& 、|、~查询组合。好记性不如烂笔头,我照着书中的设计结构编写了相应的代码,在调试编译错误的时候有巩固了语法,收获不小啊!

      总结一下,收获最大的地方是面向对象的设计思想。书中有句话,对于初学者这样的面向对象的设计方式可能很难理解,但是一旦熟悉了日后的编程将大为方便。没参考例子之前,试着自己设计文本查询的各个类及函数,想了半天发现不仅繁琐而且不合理,看来路还很远咧!现在才发现大四上学的那点软件工程是做嘛用的了,唉,总是后知后觉。。。。

       坚持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值