C++11标准后的C++阅读书目2013/09/25 · 书籍与教程, 开发 · 7 评论 · Bjarne Stroustrup, C++, C++11分享到:150 Maya3D建模攻略——葵花宝典 Oeasy教你玩转后期剪辑Premiere 拍摄与剪辑“怀孕日记” PS大神通关教程本文由 伯乐在线 - JingerJoe 翻译。未经许可,禁止转载!英文出处:drdobbs。欢迎加入翻译组。C++ 新标准 C++11 的发布导致了大批新书的出现,还有一些经典书籍也进行了更新。Andrew Binstock 在 Dr.dobbs 上给大家推介一些学习 C++ 必需的核心书籍。 1. 《C++程序设计语言》英文第四版,作者: Bjarne Stroustrup这本书已经被正式列为C++编程的权威书籍。它堪称语言界的权威,独具特色,书面清晰,由设计C++的Stroustup所著。 也许有些读者认为ANSI C++文档才是最佳选择,但是这本书作为一个十分简洁的参考书籍,更适合已经对该语言有所了解的读者们。该书为新特性提供了友好的解释,外加一些对于需要做的以及避免做的事情的建议,使得它成为了想要理解具体的特性的读者们的最佳选择。从这个意义上来说,这本书远远不止是一本参考教程。一些外在方面可能对这本书有所贬低,尤其是它没有使用等宽字体来打印代码。 不管对于一些读者来说,这看起来有多美观,它还是抛弃了普通的代码读者,他们希望垂直对齐,但这不可能出现。尽管这样,代码的排版还是比以前的版本好太多了。另一担忧会跟C++本身有关,而不再是这本书。这个版本有1328页,比原始版本大约多了1000页。 Stroustrup对于库给了很少的介绍,这些数字足以说明C++已经变得有多复杂。 尽管有这些问题,但是我很清楚,对于C++程序员来说,不管使用这门语言的新特性有多困难,他们都得坚持,唯有这样,才能前进。 极力推荐此书!(第四版的中文版还没有出,目前《C++程序设计语言(特别版•十周年中文纪念版)》)c++ReadingListC++ Programming Language 4th Edition 2. 《C++ Primer 第 5 版(英文版)》由 Stanley Lippman,Josee Laoie 和 Barbara Moo合著多年来,C++ Primer 已经成为了C++的明确教程。 该版本主要针对C++11标准进行了更新,完全重写了。 900页密集的页面里,对该语言的每一个角落都进行了详细的探索。 这种说法也许有点保守。这本书的基调和内容都远远超过书名”入门”这个词所指的意思。在语言上,没有一节能是”快速讲解”,相反,从质量到文本都做了很耐心的描述以确保能涵盖该语言的每一个方面,预见到C++程序员可能遇到的任何问题。想知道将析构函数声明为C++11标准的deleted函数,会带来什么样的严重后果吗我也不知道。但是这本书里会有详细的解答,并引用了其他章节作为额外的辅助信息。同样,这本书也仅仅包括了语言方面,还有一些对库的讨论和附录,附录总结了库里包含的各种各样的头文件和算法(关于C++库的详细介绍,我推荐这两本书《The C++ Standard Library: A Tutorial and Reference》, 后面会提到。坦白讲,你想知道的关于C++的任何东西,在这两本书里都有透彻的讲解。 刚才提到的Stroustrup的那本书《C++ Programming Language, 4th Ed》, 似乎是这本书的竞争对手。 Stroustrup的书主要是一本注重讲解的参考书,也可以偶尔查询用。但是这本书要实用得多。它有讨论到,如果你没有正确使用新特性,会出现什么问题,还包含了大量的代码,总之,相对于前一本书,这本书提供了更多的指导。对于这本书,我唯一的担心就是它很明确是为已经了解基本语言的读者编写的。对于在校学生,甚至是一些有经验的程序员但是初次接触C++,我不推荐这本书。它的内容太详细以致于不能通过快速阅读达到高效地掌握该语言的效果。 但是对于现有的C++开发人员,尤其是那些想要使用C++11新特性的开发者,这本书就是很好的选择。c++ReadingList2 3. 《C++标准库:自学教程与参考手册(第2版)(英文版)》Nicolai Josuttis著这是C++标准库的经典教程和参考的第二版,根据新标准C++11进行了更新。不像其他许多书,包含了库和API,这不是对一大堆函数调用的美化解释。相反,它把标准库(主要是STL)分解成了一些小节,解释了组件设计用到的基本方法。这时候,作者才进入到API的细节部分,结尾处总结了所有其它可能要用到的方法,还有一些简短的解释。容器部分才是精华,对设计,内部结构和应用的解释,以及各种选择之间的比较。这些论述很有说服力,条理清晰,信息量超大。例如,STL函数对象和匿名函数的章节,花了12页篇幅只是为了解释什么是函数对象以及为什么要使用它们。这些论述之后,作者又花费了12页来解释预定义函数对象。在这个时候,他就已经为最后的讨论《匿名函数之旅》 奠定了基础。所以全书总共1000多页。这些解释很多都使用了简短,又突出重点的程序来说明,所以你能够很确切地理解一个函数是如何使用或应用的。这本书的第一版被许多的C++程序员视为真正的经典。我觉得第二版没有道理不受欢迎。对此不熟悉的读者,不管是把它看作是第一本书的升级版还是另一本新书,我都强力推荐。这篇简短的介绍也算是对这本是的一个很好的补充。c++ReadingList3The C++ Standard Library 2nd Edition 4. 《C++ Concurrency in Action | C++ 并发实战》 Anthony Wiliams著这本书主要是讲在使用C++11特性时对并发的深入探讨。 它是由作为语言新线程支持基础的Boost Thread 库的主要开发及维护人员编写的。总之,作者很有权威性。该书从最基础的东西开始,假设读者已经有良好(甚至是非常好)的语言基础,但是首次接触并行代码。 该书逐步地探讨了一些由并发带来的问题,讲述了互斥的解决方案和局限性,以及它们是如何在C++11中实现的。接下来讲述了C++的内存模型和原子类型。最后,深入探讨了基于锁和无锁数据结构的设计。这是自从Herb Sutter在书中讨论这个话题之后,我所见过的最好的处理方法。这本书很全面地涵盖了一些真正重要的话题,这些话题在其他书籍中是经常被忽略的,比如像,多线程的代码设计,线程应用程序的调试。当然,在我看来,这两者都描述得太少了。 书中大部分内容都是作为参考资料(就单独的C++线程库就有差不多130页)。 另一个附录是一个完整的消息框架,并给出了代码和注解。 毫无疑问,作者还是花费了很大的心思,相关的内容都讲到了。对于这本书,我也有不满意之处,但是它们都微不足道。 第一个就是你必须深入了解C++,否则阅读起来比较困难。另一个就是作者最后一章讲述的线程池,用红色字体显示的”高级线程”。在我看来,线程池在并发处设定标记很有意思,但是很可惜,作者却在这儿停笔了。由此可得知,虽然作者在目录有提及到角色模型,但并没有进行讲解,就好像它压根儿不存在一样,可能在William看来,它其实对好几种语言至关重要,却不包括C++。总的来说,这些不满意之处只能反应我的偏好,不能说明这本书有缺陷。William的这本书非常棒,至少在未来的很长一段时间里都能称得上是这个领域的典型著作。如果你想更仔细地看下这本书的内容,我们最近在一篇很受欢迎的文章里”Waiting for One-Off Events with Futures。”有摘选了一些片段。c++ReadingList4C++ Concurrency in Action 5. 《C和C++安全编码(英文版第2版) 》 (中文版的还是第一版)Robert Seacord著这本书主要写关于C和C++的安全编码。新版的内容几乎是2005年原版的两倍,展示了我们究竟学习了多少关于攻击代码的知识。实际上,在读这本书的时候, 你可能被当下各种五花八门的东西弄得晕头转向。然而,正如作者所说的,安全其实不仅仅是实现反攻技术,而是在实现的过程中保持一种安全防范的思维定式。他认为,只有保持这种心态,才有办法减少那些未知的攻击所带来的损害。这本书详细讲解了各种类型的黑客以及怎么阻止黑客或者让他们感到气馁。书中的解释一目了然,代码也很清晰。但是它在要求上比其他编程书也更高一些:要求读者必须对C和C++d的执行有很好的了解,并且清楚在机器层发生了什么。因为这些必需的知识,书中没有提到,所以如果事先不去了解的话,你可能不会真正理解书中的精华部分。对于那些真正理解了程序执行的内部工作原理的开发人员来说,这本书就是不仅仅是一个很好的入门,更是一种启示。例如,如果你不是一个安全方面的专家,Seacord在书中关于攻击是如何通过加倍释放已分配的内存块被激活的论述, 凸显了简单的编码错误的这一特征,可能就会被完全忽略了。 书中的解释很有启发性。该书的实践本质就是让你频繁地使用一些推荐的工具去验证代码,并锁定黑客喜欢探索的访问机制。这本书真的很棒,绝对让你受益匪浅,当然,也会使你成为一名更优秀的程序员。c++ReadingList5Secure Coding in C and C++ 2nd Edition 6. 《Real-Time C++》Chris Kormanyos著这本书简单地介绍了在实时项目中如何使用C++11。作者介绍了几个基本的项目,展示如何使用C++11来完成编码。他以艾特梅尔公司的AVR单片机为例,使用GCC工具链编译,从产品设计,到硬件和编码的实现,以及如何刷机和运行程序都给出了解释,在各种不同的环境下启动发光二极管。接下来又引入了更复杂的项目,像使用C++编写底层硬件驱动程序。在最后一章,继续探讨了标准C++库和STL为嵌入式所用。这本书很实用,书中的代码也很清晰。它表明了对于进行嵌入式工作的来讲,C++11是一个合理的选择。总之,对于想要进行嵌入式编程的C++开发人员来说,这本书是很好的教程。但是它所选的一些案例项目,可能对于那些活跃在该领域的开发者来说,没有什么吸引力。c++ReadingList6Real-Time C++

C++11标准后的C++阅读书目相关推荐

  1. C++11标准出现后,函数指针写法汇总

    最传统的写法,即C++11之前的函数指针的写法,利用typedef关键字: 如: typedef int(*myFun)(int, int); 调用示例: int sum(int a, int b) ...

  2. python推荐书-Python 阅读书目推荐

    Python 阅读书目推荐¶ Wesley J. Chun, <Python 核心编程>的作者 ( Informit | 豆瓣 ),为大家推荐了一系列的他觉得很不错的 Pyhton 书目, ...

  3. C++11标准之右值引用(ravalue reference)

    C++11标准之右值引用(ravalue reference) 1.右值引用引入的背景 临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题.但是C++标准允许编译器对于临时对象的产生具 ...

  4. python参考书目_Python 阅读书目推荐

    Python 阅读书目推荐¶ Wesley J. Chun, <Python 核心编程>的作者 ( Informit | 豆瓣 ),为大家推荐了一系列的他觉得很不错的 Pyhton 书目, ...

  5. CPP全面总结(涵盖C++11标准)

    OOP之类和对象 1. this指针的引入 每个成员函数都有一个额外的隐含的形参,这个参数就是this指针,它指向调用对象的地址.默认情况下,this的类型是指向类类型非常量版本的常量指针.可以表示成 ...

  6. C++ Primer中文版(第5版)(顶级畅销书重磅升级 全面采用最新 C++ 11标准)

    C++ Primer中文版(第5版)(顶级畅销书重磅升级 全面采用最新 C++ 11标准) [美]Stanley B. Lippman( 斯坦利 李普曼)  Josee Lajoie(约瑟 拉乔伊 ) ...

  7. c++11标准带来的最显著变化(及为何该引起你的注意)

    来源 :http://article.yeeyan.org/view/234235/250515 简介:自C++语言首次标准化以来,13年的时间过去了.前C++标准委员会成员, Danny Kalev ...

  8. 在codeblocks中使用C++11标准,安装及配置方法

    原文:http://www.lai18.com/content/624976.html 用过的codeblocks的人都知道,这款软件是相当的棒.同时在2011年推出的C++11新标准也是非常的强大, ...

  9. C++11 标准新特性:委派构造函数

    https://www.ibm.com/developerworks/cn/rational/1508_chenjing_c11/index.html 陈 晶 2015 年 8 月 11 日发布 We ...

  10. C++11 标准新特性:Defaulted 和 Deleted 函数

    https://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/index.html Defaulted 函数 背景问题 C+ ...

最新文章

  1. 上云上的差点破产是什么体验?
  2. Color types not allowed (at ‘drawable’ with value ‘#f0f0f0’)
  3. HBase、Redis、MongoDB、Couchbase、LevelDB主流 NoSQL 数据库的对比
  4. 如何理解 inode
  5. 商务搜索引擎_网络营销外包——网络营销外包公司如何做好电子商务网站优化?...
  6. 简单的exp全备份脚本及部署过程(step by step)
  7. ubuntu安装有道云笔记_建立基于有道云笔记的错题本
  8. Ubuntu20.04 安装在U盘上
  9. 远程连接mysql失败异常,未配置权限,skip-name-resolve以及防火墙
  10. FFmpeg+SDL纯视频播放器
  11. XSS网站漏洞如何修复 大牛支招让您网站更安全
  12. python编程求100以内能被5整除之和_C语言,求100以内能被3整除或能被5整除的数的和...
  13. Java课程设计_java课设
  14. 【PPT】PPT文档导出PDF文件时,去掉右上角时间
  15. 分享FUJITSU铁电存储器FRAM 2MBit SPI MB85RS2MTA
  16. 微软飞行模拟服务器,微软飞行模拟器配置要求一览 最低/最高PC配置详情
  17. BigPatent文本摘要数据集
  18. 腾讯视频网页版无法打开的问题
  19. 压岁钱还没花完?小米、三星、华为、中兴扎堆发新机替你操碎了心
  20. go get google.golang.org/grpc 解决办法汇总

热门文章

  1. WPF/Silverlight 控件的几幅继承关系图
  2. 网络编程基础知识之单线程与多线程
  3. OSPF邻接关系建立过程
  4. Linux Apache服务详解——用户个人主页实战
  5. OS之宏内核(Monolithic kernel)和微内核(Microkernel)详解
  6. java 输入输出 函数对象构造
  7. 从10秒到2秒!ElasticSearch性能调优实践
  8. 无界面和应用图标的应用程序
  9. 手把手玩转win8开发系列课程(20)
  10. Android通过NTP服务器取得UTC标准时间