1. 入门
Lippman的《Essential C++》
顾名思义,这本书是很短小精悍的。通过这本书,可以对C++的最常用和重要的特性有全面的了解,并对C++的全貌有一个概念。虽然这远远不够,但就是这样的书,才适合初学者。
中文版是侯捷翻译的,很多词条采用了台湾的说法,虽然翻译的语言呈现不错,但是用词习惯不适宜大陆用户。所以推荐读英文版的。对于手头不宽裕的朋友,可以去下电子版的读,独善其身的时候就别考虑什么版权不版权的了。
2. 总览
以下两本任选其一:
Lippman的《C++ Primer》
Bjarne Stroustrup的《The C++ Programming Language》
这两本都是大部头。Lippman虽然谦虚地用了个“Primer”,但其实是很全面的一本书。而TCPL则是C++之父写的。两本被誉为是C++的倚天剑和屠龙刀,至于哪个是哪个无所谓了。
3. 提高
Bruce Eckel的《Thinking in C++》
Scott Meyer的《Effective C++》
Scott Meyer的《More Effective C++》
Scott Meyer的《Effective STL》
Herb Sutter的《Exceptional C++》
Herb Sutter的《More Exceptional C++》
Lippman的《Inside the C++ Object Model》
把这七本看完,也不过只是提高了而已,这时候还不能称自己精通C++。
4. 进阶
罗剑锋的《Boost程序库完全开发指南:深入C++“准”标准库》
Bjorn Karlsson的《超越C++标准库:Boost库导论》
Boost不一定人人都要会,不过如果你愿意成为一名专业级的C++开发者,这是基础。
5. GUI
即使你不是做GUI的,也必须要掌握一个基于C++的GUI编程方法。比如:MFC、WTL、Qt等等。
6. 专业
要根据你所从事的方向,选择你应该精通的C++开发领域。比如Visual C++、SystemC等。
7. 深入
侯捷的《STL源码剖析》
读这本书不是为了熟悉STL,想善用STL完全可以看STL使用方面的书籍。侯捷这本书,是帮助你了解千锤百炼而成的STL源码库的编程思想。