机器效率和编程效率

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,对硬件的控制性强;
  • 高级特性。自定义类型,开发大型程序;
  • 标准库,提供了常用的数据结构和算法。

学习方法

  • 不要陷入低级语言的细节中;
  • 使用自带的标准库,比如 stringvector,易于理解,使用,不易犯错。比如使用 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 阅读笔记:前言的更多相关文章

  1. C++ Primer Plus阅读笔记

    cin进行文本输入 使用cin获取字符的基本方式 char ch; cin >> ch; cin读取char值时将忽略空格和换行符.此外,发送给cin的输入被缓冲.这意味着只有在用户按下回 ...

  2. C-C Primer Plus阅读笔记

    常用头: stdio.h string.h inttypes.h limits.h float.h 1.打印short.long.long long和unsigned #include <std ...

  3. 【读书笔记】C++ primer 5th 从入门到自闭(一)

    这几天看了C++ primer 5th的一二章,有很多收获,但是有的地方因为翻译的问题也搞得理解起来颇为难受啊啊啊啊.尤其是const限定符,在C语言并没有这么多复杂的语法,在C++里面语法细节就多的 ...

  4. C++ Primer 第四版阅读笔记

    阅读笔记 初始化 变量定义指定了变量的类型和标识符,也可以为对象提供初始值.定义时指定了初始值的对象被称为是 已初始化的.C++ 支持两种初始化变量的形式:复制初始化和 直接初始化.复制初始化语法用等 ...

  5. uml大战需求分析阅读笔记01

    <<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...

  6. Hadoop阅读笔记(二)——利用MapReduce求平均数和去重

    前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...

  7. Hadoop阅读笔记(一)——强大的MapReduce

    前言:来园子已经有8个月了,当初入园凭着满腔热血和一脑门子冲动,给自己起了个响亮的旗号“大数据 小世界”,顿时有了种世界都是我的,世界都在我手中的赶脚.可是......时光飞逝,岁月如梭~~~随手一翻 ...

  8. JavaScript高级程序设计 - 阅读笔记

    [本博客为原创:http://www.cnblogs.com/HeavenBin/] 前言: 大致花费了一个星期的时间把这本书认真看了半本,下面是我做的阅读笔记,希望能够让看这本书的人有个大致的参考. ...

  9. SDL源码阅读笔记(1) 基本模块

    write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 前言 对于大牛来说,写关于阅读源码的文章都会叫源码剖析或者深入浅出啥的,对于我,自己阅读阅读源码,写 ...

  10. DXUT源码阅读笔记

    14.GetCapture() 函数功能:该函数取得捕获了鼠标的窗口(如果存在)的句柄.在同一时刻,只有一个窗口能捕获鼠标:此时,该窗口接收鼠标的输入,无论光标是否在其范围内.函数原型:HWND Ge ...

随机推荐

  1. [小技巧]Win32 - VS中手动编辑RC文件

    用win32进行窗口编程时,如果资源文件不妥善集中管理会一不小心会删除一些资源文件,这时再进行项目编译的时候会发现rc文件因为缺失某个资源文件导致无法打开,我们常用的rc图形编辑器等于废了. 这时就需 ...

  2. 《Unix/Linux系统编程》第十一周学习笔记

    <Unix/Linux系统编程>第十一周学习笔记 TCP/IP协议 TCP/IP 是互联网的基础.TCP代表传输控制协议.IP代表互联网协议.目前有两个版本的IP,即IPv4和IPv6.I ...

  3. loadrunner入门(关联)

    左右边界:提取第一个id web_reg_save_param_ex(                 "ParamName=Id",         "LB=//OK[ ...

  4. SQL 2019 卸载方法

    一.关闭服务 1.  win+r      services.msc   打开服务,关闭与SQL有关的服务内容. 二.卸载应用 1.win+r  control   打开控制面板---卸载程序---卸 ...

  5. 导出生成word

    用XML做就很简单了.Word从2003开始支持XML格式,大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板(后缀为.ft ...

  6. F - Substring of Sorted String

    题目链接 题解(树状数组) 我们维护两个树状数组,一个记录 \(1\sim i\) 中 \(s_i>s_{i+1}\)的数量,即逆序对数量,另一个记录 \(1\sim i\) 中 \(26\) ...

  7. win10,在桌面点击右键:显示设置和个性化,出现“该文件没有与之关联的应用来执行该操作,请安装应用,若已经安装应用,请在默认应用设置页面中创建关联”

    参考:https://zhidao.baidu.com/question/2076100681854702028.html 1. WIN + R 打开运行,并输入 regedit,点击确定,进入注册表 ...

  8. (1)入门MasaFramework教程

    (1)入门MasaFramework教程 首先了解一下MasaFramework是什么 MasaFramework是一个基于.Net6.0的后端框架, 可以被用于开发Web应用程序.WPF项目.控制台 ...

  9. 文件的上传&预览&下载学习(五)

    1.背景 一个知识库,要求文件对不同的角色有不同的实现,比如某些角色只能在线预览,某些可以下载.在线观看. 2.分析 知识库其实也可以看做商品表,商品有商品图片(商品表与文件信息表做关联,因为商品有多 ...

  10. 【Visual Leak Detector】在 QT 中使用 VLD(方式三)

    说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记. 目录 说明 1. 使用前的准备 2. 在 QT 中使用 VLD 2.1 复制 lib 库及头文件 2.2 在项目 .pro 文件中指明路 ...