毕业快一年半了,这些时候,都是在底层方面做的一些工作,虽然内核的C也实现了C++中的一些抽象机制,面向对象,继承,多态,封装等等,但是,想着大学里面,电子类的学习,都是偏向底层的,有过C++的课程,也只是简单的做做习题之类的,从今天开始,每天一篇C++学习的博客以及自己在有道云笔记上面的资料整理。写文章,写给自己看的和写给大家看的,那种真正劲头还是不一样的,对自己要有催促的力度。
这次学习,主要是先借助网上的一些文章来总体的把握这门语言,然后,一个知识点一个知识点的去实践和总结,连同数据结构也一起复习一次。
以下的内容主要是根据刘未鹏_C++的罗浮宫来总结的,感谢这位大神。
C++和C,自己觉的应该都属于那种易学难精的语言。C++语言的细节太多,一些经典的书籍(有意还是无意的)在暗示语言细节的重要性和有趣(是否有趣,还真是仁者见仁智者见智),现代的C++开发所涉及到的一些语言细节(常用的语言细节 日常编程:C++库设计=8:2)。看了一些好的博客,觉的,那种循序渐进的方式来讲解知识点的方法,既通俗易懂,又让人了解每种方法或者概念的提出的来源,不是无中生有的,是为了解决具体问题而提出的。首先要对语言有一个全局的观念,其次在来渐进渐入。
开发库里面的实际需求要求充分挖掘C++中的语言细节,要动用模板编程技术。
C++中众多的细节虽然在库设计者手里面有其用武之地,但普通程序员则根本无需过多关注,尤其是没有实际动机的关注。
一般性的编码实践准则,以及基本的编程能力和基本功,乃至基本的程序设计理论以及算法设计。才是真正需要花时间掌握的东西。
学程序是用来解决问题的。重要的不是你掌握的语言,而是你掌握的能力,借用myan老大的话,“重要的是这个磨练过程,而不是结果,要的是你粗壮的腿,而不是你身上背的那袋盐巴。”
C++的书,Bjarne的圣经《The C++ Programming Language》是高屋建瓴的。《大规模C++程序设计》是挺务实的。《Accelerated C++》是最佳入门的。《C++ Templates》是仅作参考的。《C++ Template Metaprogramming》是精力过剩者可以玩一玩的,普通程序员碰都别碰的。《ISO.IEC C++ Standard 14882》不是拿来读的。Bjarne最近在做C++的教育,新书是绝对可以期待的。
学习什么,都要有任务驱动的方法来学些,要不然,所学无用,只会前面学后面忘。