现代C++新四大名著及C++学习杂谈

翻开自己的博客,在2012年8月我曾经写过如下一篇博客,

<<C++学习的方法以及四大名著>>

http://www.cnblogs.com/pugang/archive/2012/08/17/2643710.html

想想时间过得真快,转眼5年了,在这5年中C++也发生了翻天覆地的变化。2012年的时候C++11刚刚确定不久,很多技术资料也没有来得及更新,编译器也没有完全支持主流的C++11新特性,自然很多公司对于新版本的C++使用也是持有一定的保留态度,但是经过了这5年的应用实践,C++社区和大部分的公司已经适应了C++11以后的新特性,可以说现代C++大格局已定,基本算是熟了。

我在2012年8月的博客中推荐的C++四大名著是如下四本,虽然这四本堪称经典中的经典,但是C++语言本身的发展,不断地有新的东西加入进来,格局自然也就发生了变化,因此,本文为大家推荐了现代C++中的新四大名著,原来的四本书仍然是必修课,在这里需要强调指出。

<<C++ Primer>>

<<Effective C++>>

<<Exceptional C++>>

<<Inside the C++ Object Model>>

新C++四大名著中的--

第一本是<<effective modern c++>>

推荐理由: Scott Meyers 潜心力作,几十条建议字字珠玑, 如果四本书只能选一本拿来学习的话,我选这本。

第二本 <<C++ Concurrency in Action>>

推荐理由: 由于其野蛮生长性,C++ 语言本身从来没有将线程升格到如此的高度,也从来没有语言级别的支持,每个平台使用自己的方式来实现多线程,可谓是八仙过海,各显神通,C++11带来了多线程实现上的统一,目前为止,写的最全面,最深入的也就是这本了。

第三本<<The C++ Standard Library A Tutorial and Reference 2nd Edition>>

推荐理由:除C++了语言本身的升级,标准库也有大面积的升级,C++大部分有用的功能,基本都是通过标准库来实现,可见这本书的重要性。

第四本 <<Optimized C++>>

推荐理由:对于C++优化的各个方面谈的比较透彻,作者是多年的C++老鸟,行文十分流畅。

最后推荐的两本辅助书籍是:

<<AUTOMATE THE BORING STUFF WITH PYTHON>>

<<Python Crash Course>>

推荐理由: 那么为什么要在这么一篇讲C++的文章中推荐Python资料呢?不解释了,相信能理解我这篇文章的人应该知道Python是什么..

总结

本文简要的讨论了现代C++的发展,并提出了现代C++新四大名著,同时推荐了另外的两本辅助的Python资料,同时对目前C++的格局进行了简要的讨论,希望对大家有所帮助。

现代C++新四大名著及C++学习杂谈的更多相关文章

  1. 5332盛照宗 如何获取新技能+c语言学习调查

    如何获取新技能+c语言学习调查 你有什么技能比大多人(超过90%以上)更好? 如果问我有没有什么技能比大多数人,并且是90%的人好,我还真不敢说有,因为世界上有70亿人,要比63亿人做的好才行啊.我也 ...

  2. 20155332 如何获取新技能+c语言学习调查

    如何获取新技能+c语言学习调查 你有什么技能比大多人(超过90%以上)更好? 如果问我有没有什么技能比大多数人,并且是90%的人好,我还真不敢说有,因为世界上有70亿人,要比63亿人做的好才行啊.我也 ...

  3. 7月新的开始 - Axure学习03 - 布尔运算、表单元件

    布尔运算 布尔运算:是一种数字符号化的逻辑推演法.包含联合.相交.相减等 在图形处理中,通过联合.相交.相减等操作使基本的图形组合产生新的形体 操作 准备 蓝色(底部).绿色(顶部) 合并:两个图形合 ...

  4. C# 4.0 新特性dynamic (待学习)

    随便翻看了一下dynamic,在网上拷贝了一个例子,先贴出来等有空了再慢慢消化 static void Main(string[] args) { dynamic d = new MyDynamicO ...

  5. Linux学习杂谈

    Linux学习相关的... --------- 1.Linux是免费的2.Linux是安全稳定的3.linux是开源的,却世界的工程师都在维护系统--------------------熟悉脚本开发语 ...

  6. Java8 新特性Stream 的学习和使用方法

    流(Stream) 流是java 8 中新引入的特性,用来处理集合中的数据,Stream 是一个来自数据源的元素队列并支持聚合操作. Java 中 Stream 不会存储元素. 数据源 流的来源. 可 ...

  7. 7月新的开始 - Axure学习06 - 母版的使用

    母版的使用 主导航.底部.在很多页面上都是一样的: 如果在每一个页面都写一次的化.话.是非常浪费时间的,为了方便.可以使用母版: 母版可以帮助我们将一些元素重复利用,既可以保证页面的统一性.还可以节省 ...

  8. 7月新的开始 - Axure学习05 - 元件库的创建

    元件库的创建 元件库的创建.载入.编辑和删除等操作 元件库的后缀名名:.rplib 学习结果: 实现iPhone6的原型图 分辨率是 1080*1920,现在我们按比例缩小去实现(360*640)

  9. 7月新的开始 - Axure学习04 - 发布与预览、菜单和表格元件、流程图和连接点、标记元件

    Axure 的发布与预览 1.发布 2.生成html文件 常规:指定浏览器.工具栏的生成 页面.页面说明.元件说明.交互.标志(logo和描述).字体.移动设备等 3.发布到Axshare Axure ...

随机推荐

  1. [编织消息框架][netty源码分析]4 eventLoop 实现类NioEventLoop职责与实现

    NioEventLoop 是jdk nio多路处理实现同修复jdk nio的bug 1.NioEventLoop继承SingleThreadEventLoop 重用单线程处理 2.NioEventLo ...

  2. Android 图片加载框架Glide4.0源码完全解析(二)

    写在之前 上一篇博文写的是Android 图片加载框架Glide4.0源码完全解析(一),主要分析了Glide4.0源码中的with方法和load方法,原本打算是一起发布的,但是由于into方法复杂性 ...

  3. js替换字符串中所有指定的字符

    第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.  而str.replac ...

  4. 使用ABP打造SAAS系统(1)——环境准备

    一.前言 使用ABP也有一段时间了,很多东西是懂非懂,打算试着使用abp来搭建一套SAAS系统,与实际项目相互验证. 主要实现以下目标: 将ABP源码与实际项目相结合,后续可以修改相关源码来支持项目, ...

  5. El表达式取map值

    map el表达取值 ${initMap['kehuList']}

  6. Python3.5学习笔记-文件操作

    在Python中,操作文件对象使用open函数来创建,下表列出了常用的操作file的函数: 序号 方法及描述 1.file.close() 关闭文件.关闭后文件不能再进行读写操作. 2.file.fl ...

  7. web项目直接在浏览器上访问不需要带.jsp,直接ip地址加项目名 在web.xml里配置

    web.xml最上方 <welcome-file-list> <welcome-file> /view/login.jsp </welcome-file> < ...

  8. ReadTeacherObj

    package JBJADV003;import java.io.*;public class ReadTeacherObj { /** * @param args */ public static ...

  9. 算法起步之kmp算法

    [作者Idlear  博客:http://blog.csdn.net/idlear/article/details/19555905]            这估计是算法连载文章的最后几篇了,马上就要 ...

  10. opencv如何实现【不用全局变量进行滚动条控制】

    opencv中自带滚动条,其中一个问题是该回调函数(on_trackbar)大多使用的是全局变量,大型项目调试时弊端众多,比如下图: 为此,留意了void on_Trackbar(int par1, ...