C++: From Novice to Professional

开瓶少女

一直觉得,通过踩坑、挖坑和填坑能够不断地让自己得到提升。
或者用vczh的话说,叫造轮子。

但在那之前,也必须要有一个入门的路线和一个积累的过程。

首先这里列出来的书每一本都无疑是经典和精品。
Lippman、Stroustrup、Sutter、侯捷等,也都是毫无争议的大师。

第二就是全面。无论是初入门的导引,还是大而全的参考书,还是指导细节与边角的合集,都完全包含到了。另外值得推荐的就是Stroustrup的《C++语言的设计和演化》,至少这算是我头一遭见到有人思考如何设计和如何抉择的过程,并专门出一本书的。

第三是更新。我会尽量保持所有内容都保持最新(同一内容再版可能会忽略),同时也希望大家能够随时提供更新消息。

==================

关于学习过程,推荐知乎《如何系统地学习 C++ 语言?》@蓝色的回答:
http://www.zhihu.com/question/23447320/answer/24657827

同时,对初入门的人来说,推荐《Accelerated C++》和《Essential C++》。《C++程序设计原理与实践》也值得尝试,但更适合那些零基础而且希望能够得到全方位知识的人。

如果你已经有了其他编程语言的基础,想对C++做一个简单全面的了解的话,推荐《A Tour of C++》,基本上就是《The C++ Programming Language》的一个摘要版。
TCPL则是一个更全面的关于C++语言、标准库的完整的参考。

如果你已经入门了C++,但是在应用的过程中会遇到很多的困惑,或者是经常踩坑,可能更需要翻一翻Meyers和Sutter的Effective/Exceptional系列。

已经不够Modern的《Modern C++ Design(C++设计新思维)》可能会让你认识到C++的很多不同的方面。然后,你可以更进一步的去看一看《Imperfect C++》,或者是《C++模版元编程》。

在更多人鼓吹Functional Programming(函数式编程)的今天,你可以试着读读《Generics and STL》和《C++ Templates》,深入体验一下关于函数式、Pattern Matching和Lazy Evaluation等如何在上个世纪就融合进C++的。
或者是通过《C++语言的设计和演化》以及《深度探索C++对象模型》来理解语言设计的问题。

--------------------------------
另外,这里更多的知识都是跟C++相关。关于如何造轮子和该造哪些轮子,以及C++的应用的问题,可能需要探讨的东西远超我所能表述的。

所以在此推荐两本书:
《The Art of C++(C++编程艺术)》(有点老,但值得一读
《API Design for C++(C++ API设计)》
以及:
http://www.zhihu.com/topic/19584970

Kimmy Leo
2015-03-05
一直觉得,通过踩坑、挖坑和填坑能够不断地让自己得到提升。 ... 展开

203

查看更多豆列

豆瓣
免费下载 iOS / Android 版客户端