现代C++新四大名著及C++学习杂谈
现代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++学习杂谈的更多相关文章
- 5332盛照宗 如何获取新技能+c语言学习调查
如何获取新技能+c语言学习调查 你有什么技能比大多人(超过90%以上)更好? 如果问我有没有什么技能比大多数人,并且是90%的人好,我还真不敢说有,因为世界上有70亿人,要比63亿人做的好才行啊.我也 ...
- 20155332 如何获取新技能+c语言学习调查
如何获取新技能+c语言学习调查 你有什么技能比大多人(超过90%以上)更好? 如果问我有没有什么技能比大多数人,并且是90%的人好,我还真不敢说有,因为世界上有70亿人,要比63亿人做的好才行啊.我也 ...
- 7月新的开始 - Axure学习03 - 布尔运算、表单元件
布尔运算 布尔运算:是一种数字符号化的逻辑推演法.包含联合.相交.相减等 在图形处理中,通过联合.相交.相减等操作使基本的图形组合产生新的形体 操作 准备 蓝色(底部).绿色(顶部) 合并:两个图形合 ...
- C# 4.0 新特性dynamic (待学习)
随便翻看了一下dynamic,在网上拷贝了一个例子,先贴出来等有空了再慢慢消化 static void Main(string[] args) { dynamic d = new MyDynamicO ...
- Linux学习杂谈
Linux学习相关的... --------- 1.Linux是免费的2.Linux是安全稳定的3.linux是开源的,却世界的工程师都在维护系统--------------------熟悉脚本开发语 ...
- Java8 新特性Stream 的学习和使用方法
流(Stream) 流是java 8 中新引入的特性,用来处理集合中的数据,Stream 是一个来自数据源的元素队列并支持聚合操作. Java 中 Stream 不会存储元素. 数据源 流的来源. 可 ...
- 7月新的开始 - Axure学习06 - 母版的使用
母版的使用 主导航.底部.在很多页面上都是一样的: 如果在每一个页面都写一次的化.话.是非常浪费时间的,为了方便.可以使用母版: 母版可以帮助我们将一些元素重复利用,既可以保证页面的统一性.还可以节省 ...
- 7月新的开始 - Axure学习05 - 元件库的创建
元件库的创建 元件库的创建.载入.编辑和删除等操作 元件库的后缀名名:.rplib 学习结果: 实现iPhone6的原型图 分辨率是 1080*1920,现在我们按比例缩小去实现(360*640)
- 7月新的开始 - Axure学习04 - 发布与预览、菜单和表格元件、流程图和连接点、标记元件
Axure 的发布与预览 1.发布 2.生成html文件 常规:指定浏览器.工具栏的生成 页面.页面说明.元件说明.交互.标志(logo和描述).字体.移动设备等 3.发布到Axshare Axure ...
随机推荐
- php实现ppt转图片,php调用com组件问题
PHP 调用com组件将ppt转为图片. 需要在php.ini中开启 extension=php_com_dotnet.dllcom.allow_dcom = true 测试代码如下: < ...
- Java基础——抽象类和接口
之所以将抽象类和接口放在一起做笔记,是因为他们之间很难区分又各自独立.在学习完Java程序设计的三大特点(封装.继承.多态)之后,我最大的收获是,慢慢理解了Java语言这种面向对象程序设计的优越性,它 ...
- Overfitting&Underfitting Problems
这次根据结合Google的翻译果然速度快上许多,暂时休息,晚上在传一个exm2的随笔. 关于过度拟合下的问题 考虑从x∈R预测y的问题,下面的最左边的图显示了将\(y=\theta_0+\theta_ ...
- [css 实践篇] CSS box-orient
定义和用法 box-orient 属性规定框的子元素应该被水平或垂直排列. 提示:水平框中的子元素从左向右进行显示,而垂直框的子元素从上向下进行显示.不过,box-direction 和 box-or ...
- Latex: 插入数学公式
write equations align equations to left To only align one equation, you can \begin{flalign} &\te ...
- java中得到图片的宽度 高度:
java中得到图片的宽度 高度:BufferedImage srcImage = null;srcImage = ImageIO.read(new File(srcImagePath));int sr ...
- Swift组合逻辑
我们可以组合多个逻辑运算来表达一个复合逻辑: if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverride ...
- php中的冒泡排序算法
<?php //php中的冒泡排序算法 //从大到小的排序方式 ,$arr[$j]>$arr[$j+1](这里换成了从小到大的排序方式) $arr=array(); $arr=array( ...
- 【Android Developers Training】 104. 接受地点更新
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 【Android Developers Training】 50. 控制相机
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...