C/C++培训
达内IT学院
400-996-5531
该问题试图从每年出版的众多C++书籍中收集那些最好的一小部分。
不像很多其他简单的编程语言,从网上找些参考资料就能上手,很少有人能在不系统得阅读一本好的C++书籍的情况下就快速地上手。C++是一种很重型且复杂的语言。事实上,正因为如此,市面上有很多很差的C++书籍。这里所说的差不单是编程风格上的,而是那种显而易见的事实上的错误,并且会促使你形成糟糕的编程风格。
请提供一些优质的书籍以及相对应的技术水平。请为每本书添加一条简短的介绍。请随意地讨论书籍的质量,标题等等。满足条件的书籍将会被添加到书单中。
入门,适合没有任何编程经验者
C++程序设计:原理与实践(基础篇)(原书第2版)(Programming: Principles and Practice Using C++)
作者:Bjarne Stroustrup (updated for C++11/C++14)
由C++之父编写的入门书籍,非常适合没有任何编程经验的初学者,当然有编程经验的程序员也值得一读。
入门,适合具有一定编程经验的程序员
C++ Primer(中文版)(第5版)(C++ Primer)
作者:Stanley Lippman, Josée Lajoie, and Barbara E. Moo
近1千页,非常透彻地讲解了C++,以浅显易懂并且非常详细的方式涵盖了语言的方方面面。2012年8月16日发行的第5版涵盖了C++11。
C++之旅(英文版)(A Tour of C++)
作者:Bjarne Stroustrup
大约180页,14个章节,从一个较高的水平快速介绍了标准C++的全貌,适合已经熟悉C++或者具有一定编程经验的程序员。这本书是对C++程序设计语言(第4版)的2-5章的内容的扩展版本。
Accelerated C++中文版 (Accelerated C++)
作者:Andrew Koenig and Barbara Moo
这本书基本上涵盖了和C++ Primer相同的内容,但是只用了四分之一的版面。这主要是因为它是针对那些具有其他编程语言经验的程序员的C++入门书籍。这本书的学习曲线有点陡,但是对那些能够应付过来的程序员而言,它是简洁而紧凑的入门C++的首选。(这本书有一个历史突破,它是使用现代方法教授编程语言的第一本书。)
C++编程思想(两卷合订本)(Thinking in C++)
作者:Bruce Eckel
这是一本入门级别的参考书。不幸的是书中存在一些琐碎的错误,而又没有官方勘误列表。#/Eckel.htm是一个第三方勘误列表,但是显然目前已经没有维护了。
最实用
Effective C++:改善程序与设计的55个具体做法(第3版)(中文版)(Effective C++)
作者:Scott Meyers
这本书是每个C++程序员必读的第二本书。以前的版本面向的是那些从C语言转过来的程序员,第三版改为针对那些从像Java等语言转过来的程序员。它展示了50多条易于记忆的编程原则,并配有容易接受甚至是很有趣的原理解释。对于C++11和C++14,书中的例子稍微有些过时,这部分内容阅读Effective Modern C++是更好的选择。
Effective Modern C++:改善C++11和C++14的42个具体做法(影印版)(英文版)(Effective Modern C++)
作者:Scott Meyers
这本书基本上就是Effective C++的新版,面向的是那些从C++03转入C++11和C++14的程序员。
中文版Effective STL:50条有效使用STL的经验(Effective STL)
作者:Scott Meyers
与Effective C++的讲解方式类似,不过这本书是专门介绍C++标准库STL的。它描述了相关的编程原则及其原理。
More Effective C++:35个改善编程与设计的有效方法(中文版)(More Effective C++)
作者:Scott Meyers
在Effective C++的基础上,提出了更多的编程原则。虽然没有Effective C++那么重要,但是仍然值得一读。
Exceptional C++:47个C++工程难题、编程问题和解决方案(Exceptional C++)
作者:Herb Sutter
以提出一系列难题的方式讲解,本书对RAII过程中的资源管理和异常安全做了最好最翔实的讲解,另外还涵盖了包括指向实现的指针,名字查找规则,优秀类设计和C++内存模型在内的很多主题。ACCU相关评论
More Exceptional C++:40个新的工程难题、编程疑问及解决方法(More Exceptional C++)
作者:Herb Sutter
涵盖了Exceptional C++中所没有涵盖的更高级的异常安全主题。另外还讨论了有效的面向对象编程和正确的使用STL。
C++编程剖析:问题、方案和设计准则(Exceptional C++ Style)
作者:Herb Sutter
本书讨论了泛型编程,最优化和资源管理。另外,本书还有一个出彩的阐述,是关于如何使用非成员函数和单职责原则来写模块化C++代码。
C++编程规范:101条规则、准则与最佳实践(C++ Coding Standards)
作者:Herb Sutter and Andrei Alexandrescu
这里的“编程规范”并不是指“我的代码应该缩进几个空格”之类的,这本书描写了101条能够帮助你编写正确,易于理解,且高效的C++代码的最优实践,惯用法和常见陷阱。
C++ Templates中文版(C++ Templates: The Complete Guide)
作者:David Vandevoorde and Nicolai M. Josuttis
本书描写的是关于C++11之前的模版。它涵盖了从最基本的到最高级的模版元程序的方方面面,解释了模版工作原理的每一个细节(既涵盖了概念上的,也涵盖了实现细节),另外还讨论了许多常见陷阱。在附录中有对ODR原则(One Definition Rule)和重载精彩的总结。
C++设计新思维(Modern C++ Design)
作者:Andrei Alexandrescu
一本关于高级泛型编程技术具有开创性的书。介绍了基于策略的设计,类型列表和基础泛型编程惯用法。解释了如何使用泛型编程高效,模块化,简洁地实现许多设计模式(包括小对象分配器,功能函数,工厂函数,访问者,多重方法)。
C++模板元编程(C++ Template Metaprogramming)
作者:David Abrahams and Aleksey Gurtovoy
C++并发编程实战(C++ Concurrency In Action)
作者:Anthony Williams
本书讲解了C++11对并发的支持,包括线程库,原子库,C++内存模型,锁和互斥量,另外还涵盖了多线程应用的设计和debug问题。
Advanced C++ Metaprogramming
作者:Davide Di Gennaro
前C++11时代TMP技术的手册级书籍,相比于理论,其更加关注实践。书中有大量的代码片段,其中一些代码使用的技术是非常有用的。如果你能够容忍本书古怪的格式,它会比Alexandrescu的书更容易读一些,更可论证,更有收益。对经验丰富的程序员而言,这是一个可以接触到C++暗角技术的很好机会,通常这些技术只有具备广泛的编程经验才能获取。
C++程序设计语言(第1-3部分)(原书第4版) (The C++ Programming Language)
作者:Bjarne Stroustrup
由C++语言之父编写的C++经典书籍。与经典的K&R属于同一级别,本书的风格跟K&R也很类似。本书涵盖了从语言核心到标准库,从编程范例到语言哲学的方方面面。
C++标准库(第2版)(C++ Standard Library Tutorial and Reference)
作者:Nicolai Josuttis
本书是C++标准库的导论和手册。第二版(于2012年4月9日出版)涵盖了C++11。
The C++ IO Streams and Locales
作者:Angelika Langer and Klaus Kreft
市面上很少有书讲本书的内容,如果你想学习关于streams和locales的所有内容,那么本书是你寻找答案的最好去处。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved