C++入门最推荐的书是C++ Primer (注意,不是C++ Primer Plus) ,或者The C++ Programming Language,二者选一即可。读之前最好已经有一点编程的基础,不管什么语言。这些书内容很多,应该侧重于理解概念,而非单纯记忆。重要的概念理解后自然会记住,一些不是很重要的概念一时记不住也没有关系。C++的概念和规则很多,就算是有经验的C++程序员有时也需要google一些语言规则。。在这个阶段应该掌握重要的概念。这个路线侧重于语言本身。 进阶A: 《Effective C++》简称EC。《The PragmaticProgrammer》一书中写到:“一旦你发现自己要参与C++项目的开发,赶快跑(不要走)到书店去购买ScottMayer的《Effective C++》,可能还要《More Effective C++》”。 《C++ Coding Standards: 101 Rules, Guidelines, and BestPractices》/《C++ 编程规范》 个人认为此书应为C++程序员必备的案头书。几乎Effective系列和Exceptional系列都在这里得到了总结。可能的唯一缺陷就是对一个新手而言,关于“为什么这么做”的问题,解释的不够。我的看法是:如果你不理解其中的条款,记忆,并且照做;如果你理解其中的条款,我猜你一定会同意书中的观点。 进阶B: 这个路线侧重于程序库。 《The C++ Standard Library》/《C++标准程序库—自修教程与参考手册》 听说过STL吗?这本书会教你最基本的,也是最重要的STL的使用。 《Effective STL》会使用STL还不够,还必须知道什么时候选择什么STL组件,这是STL使用的必读书。 《Generic Programming and the STL: Using and Extending the C++Standard Template Library》/《泛型编程与STL》。这本书理论性较强,但是真的很严谨,而且并不是非常难懂。理解其中对于Concept的解释,将是非常重要的。 《C++ STL》这不是讲述使用程序库的,而是讲述程序库实现原理的。肠胃不好的,需要慢慢吸收。 这个路线的书,仍然是建议按顺序阅读。 进阶A、进阶B两个路线应该是可以并行的。 其他进阶参考书 提出这些参考书,只是避免争议,也为开阔视野,笔者并不曾完全读过所有的。
所有上述的书籍,要么谈论C++语言本身,要么谈论STL的,要么兼而有之(当然严格讲STL也是C++语言非常重要的一部分)。偶尔,某些书中条目也会涉及实际工程。这些书并不是C++软件开发的全部,但是他们很重要。阅读这些书,未必需要化费太多的精力,有时候是会困难,但也有时候会很快速。 最后,编程语言并非计算机科学技术的全部,打好基础、开阔视野都非常重要。 更多干货请关注微信公众号:四保在思考 |
|