现代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 ...
随机推荐
- JAVAEE——struts2_04:自定义拦截器、struts2标签、登陆功能和校验登陆拦截器的实现
一.自定义拦截器 1.架构 2.拦截器创建 //拦截器:第一种创建方式 //拦截器生命周期:随项目的启动而创建,随项目关闭而销毁 public class MyInterceptor implemen ...
- mac 安装mysqldb组件包及mac中安装mysql-python遇到的问题
错误1:mysql_config not found 问题描述:在执行sudo pip install mysql-python安装时报错误:EnvironmentError: mysql_confi ...
- Docker 初步认识
1.docker 是什么? 一个开源的应用容器引擎,个人理解 就是虚拟的应用运行环境. 2.安装Docker for windows 下载地址 :https://store.docker.com/ed ...
- BigDecimal四舍五入使用总结
//BigDecimal四舍五入double f1 = new BigDecimal(1).setScale(2,RoundingMode.HALF_UP).doubleValue();//转化成字符 ...
- java 获得当前时间 年月日时分秒 星期几
<%SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");//设置日期格式SimpleDat ...
- 玩转UITableView系列(一)--- 解耦封装、简化代码、适者生存!
UITableView这个iOS开发中永远绕不开的UIView,那么就不可避免的要在多个页面多种场景下反复摩擦UITableView,就算是刚跳进火坑不久的iOS Developer也知道实现UITa ...
- jquery元素是否可见(隐藏)
var temp1=$(".view_hidden").is(":visible");//是否可见 var temp2=$(".elem_id&quo ...
- 分享几个 git 的使用场景
你真的会使用 git 吗?你能回答下面几个问题吗? 有三个commit(顺序:CommitA.CommitB.CommitC),它们相互独立,没有依赖. 在不修改B.C的前提下,修改A,怎么操作? 合 ...
- centos生成公钥私钥 securecrt通过公钥访问服务器 winscp通过公钥访问服务器
忙碌了一下午,一直到写博客现在.都在纠结阿里云服务器上配置公钥私钥,网上的说辞总是参差不齐,需要各个去综合,合理取舍.今天终于配置好了. 我就不说这种方式的重要性了,往往黑客都不需要你的登陆账户密码就 ...
- 计算机浏览器存储技术cookie、sessionStorage、localStorage
HTTP无状态协议是指协议对于事务处理没有记忆能力.会话跟踪协议的状态是指下一次传输可以"记住"这次传输信息的能力,无状态是指同一个会话(注意什么叫同一个会话)的连续两个请求互相不 ...