C++ Primer 5th 阅读笔记:前言
机器效率和编程效率
Its focus, and that of its programming community, has widened from looking mostly at machine efficiency to devoting more attention to programmer efficiency.
C++ 的焦点由早期对机器效率(运行速度、资源占用)的重视延伸到了对编程效率(编程耗时)的关注。
C++11 的目标
- Make the language more uniform and easier to teach and to learn
- Make the standard libraries easier, safer, and more efficient to use
- Make it easier to write efficient abstractions and libraries
- 语法更统一,易学、易教;
- 标准库更简单,更高效,更安全;
- 编写抽象和库更容易。
可以看到 C++11 修订的主要目的是降低 C++ 的使用难度,提高编程效率。
新加入的一些东西
auto:类型推导,增加可读性;smart pointers(智能指针);move-enabled containers(移动容器)。
注意:一些编译器可能不支持某些最新的特性。
现代 C++ 的组成
- 低级语言,继承自 C,对硬件的控制性强;
- 高级特性。自定义类型,开发大型程序;
- 标准库,提供了常用的数据结构和算法。
学习方法
- 不要陷入低级语言的细节中;
- 使用自带的标准库,比如
string和vector,易于理解,使用,不易犯错。比如使用string来替代字符数组; - 使用正确的代码风格;
- 舍弃错误的编程习惯;
章节类型
基础类,必须掌握;

高级类,了解即可;

困难类,需要花充足的时间来掌握,是理解语言的关键。

结构
- 第一部分、第二部分:语言基础和标准库,必须牢牢掌握这部分的知识;通过抽象,来习惯高阶编程。
- 第三部分、第四部分:自定义类,是面对对象编程和泛型编程的基础。第三部分是基础,第四部分是更专业化的高级内容。
术语表
每一章之后都有一个术语表,帮助读者重复已经学过的知识点。
编译器版本
书中的编译器是 GNU GCC,版本是 4.7.0。
| 年份 | 版本号 |
|---|---|
| 1999 | 2.95 |
| 2001 | 3.0 |
| 2002 | 3.1 |
| 2002 | 3.2 |
| 2003 | 3.3 |
| 2004 | 3.4.0 |
| 2005 | 4.0.0 |
| 2006 | 4.1.0 |
| 2007 | 4.2.0 |
| 2008 | 4.3.0 |
| 2009 | 4.4.0 |
| 2010 | 4.5.0 |
| 2011 | 4.6.0 |
| 2012 | 4.7.0 |
| 2013 | 4.8.0 |
| 2014 | 4.9.0 |
| 2015 | 5.1 |
| 2016 | 6.1 |
| 2017 | 7.1 |
| 2018 | 8.1 |
| 2019 | 9.1 |
| 2020 | 10.1 |
随书代码下载链接
http://www.informit.com/title/0321714113
C++ Primer 5th 阅读笔记:前言的更多相关文章
- C++ Primer Plus阅读笔记
cin进行文本输入 使用cin获取字符的基本方式 char ch; cin >> ch; cin读取char值时将忽略空格和换行符.此外,发送给cin的输入被缓冲.这意味着只有在用户按下回 ...
- C-C Primer Plus阅读笔记
常用头: stdio.h string.h inttypes.h limits.h float.h 1.打印short.long.long long和unsigned #include <std ...
- 【读书笔记】C++ primer 5th 从入门到自闭(一)
这几天看了C++ primer 5th的一二章,有很多收获,但是有的地方因为翻译的问题也搞得理解起来颇为难受啊啊啊啊.尤其是const限定符,在C语言并没有这么多复杂的语法,在C++里面语法细节就多的 ...
- C++ Primer 第四版阅读笔记
阅读笔记 初始化 变量定义指定了变量的类型和标识符,也可以为对象提供初始值.定义时指定了初始值的对象被称为是 已初始化的.C++ 支持两种初始化变量的形式:复制初始化和 直接初始化.复制初始化语法用等 ...
- uml大战需求分析阅读笔记01
<<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...
- Hadoop阅读笔记(二)——利用MapReduce求平均数和去重
前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...
- Hadoop阅读笔记(一)——强大的MapReduce
前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻 ...
- JavaScript高级程序设计 - 阅读笔记
[本博客为原创:http://www.cnblogs.com/HeavenBin/] 前言: 大致花费了一个星期的时间把这本书认真看了半本,下面是我做的阅读笔记,希望能够让看这本书的人有个大致的参考. ...
- SDL源码阅读笔记(1) 基本模块
write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 前言 对于大牛来说,写关于阅读源码的文章都会叫源码剖析或者深入浅出啥的,对于我,自己阅读阅读源码,写 ...
- DXUT源码阅读笔记
14.GetCapture() 函数功能:该函数取得捕获了鼠标的窗口(如果存在)的句柄.在同一时刻,只有一个窗口能捕获鼠标:此时,该窗口接收鼠标的输入,无论光标是否在其范围内.函数原型:HWND Ge ...
随机推荐
- 在DeepIn系统中使用eclipse创建maven的Web项目
1. 安装好jdk和eclipse以后,启动eclipse 2. 创建maven项目,选择Maven Project 3. 在创建项目过程中,创建简单Maven项目,不使用archetype创建(会联 ...
- 使用Kong网关API接口配置
一.Upstream1.创建Upstream: curl -i -X POST IPAddress:8001/upstreams -d 'name=upstream-test' -d 'slots=1 ...
- white-space: pre-line;的坑
html模版解析换行 这是字符串 跟标签设置white-space: pre-line: pre兼容ie8,pre-line不兼容ie 6-7 这行文字开头是没有空格的但是还是有很大的空格,代码方法截 ...
- Iview Table 图片、超链接
columns = [ { title: "照片", key: "attach_url", align:'center', width: 170, render ...
- Matlab:读取、写入(.txt)(.xlsx)
写入txt a=[1,2,3;4,5,6]; save C:\Users\Administrator\Desktop\a.txt -ascii a 参考:https://blog.csdn.net/h ...
- 【Golang】Demo
并发控制 package main // demo 参考地址https://studygolang.com/articles/25950 import ( "github.com/siddo ...
- conda Installing on Linux - 搬运
转自:Installing on Linux - conda 23.1.0 documentation Installing on Linux Download the installer: Min ...
- 图像主题颜色提取(Median cut)
前言 之前想对图片素材进行分类管理,除了打标签,还有一样是通过主题色进行分类.于是开始寻找能提取主主题色的工具,最后找到了大名鼎鼎的 Leptonica 库,其中就有中位切割算法的实现.下面附上中位切 ...
- 使用web client对 vcenter 进行补丁升级
使用web client对 vcenter 进行补丁升级 背景:最近VMware官网发布了最新的VMware vCenter Server 7.0 iso补丁文件,为了安全起故此对vCenter 进行 ...
- Androidstudio连接SQLite数据库报错not such table的相关解决
错误展示 明明就是按照创建第一个表的步骤来的,然后就是死活创建不出来第二张表,离谱啊家人们! 错误解决 针对于这个错误,只需要在SQLite类里面,将其中的version变量的值更改为更高版本即可: ...