机器效率和编程效率

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. MATLAB默认路径修改

    笔者曾尝试在软件界面的"设置路径"或者Parallel中修改默认路径,但多次尝试均失败.后来经人提点,MATLAB默认文件夹路径可以在桌面图标属性中"起始位置" ...

  2. 日常笔记-VS

    VS快捷键 按键 作用 CTRL+R,CTRL+W 以点显示空格 CTRL+L 删除当前行 CTRL+D 重复当前行 CTRL+K,D 格式化代码 CTRL+M 展开代码

  3. 嵌入式数据库 sqllite & h2  utils

    使用场景: 简单脚本,但是有需要数据记录. (使用前升级下版本) 我的使用: 老机器,老项目,jkd6,  需要记录 SqlLiteUtils package com.sea.edi.listener ...

  4. msfconsole的使用

    msfconsole是metasploit中的一个工具: msfconsole集成了很多漏洞的利用的脚本,并且使用起来很简单的网络安全工具 在终端输入msfconsole命令即可进入msf的控制台,m ...

  5. day01-2-依赖管理和自动配置

    依赖管理和自动配置 1.依赖管理 1.1什么是依赖管理 spring-boot-starter-parent 中还有父项目,声明了开发中常用的依赖的版本号 并且进行自动版本仲裁,即如果程序员没有指定某 ...

  6. 阿里云镜像创建Spring Boot工厂

    参考博客:https://blog.csdn.net/qq_40052237/article/details/115794368 http://start.aliyun.com

  7. 使用Nginx实现本地目录映射

    如果文件是存储在服务器的某个位置,想提供pdf.jpg.png.mp4这些文件的预览功能,可以使用Nginx做虚拟映射,防止他人知道该文件的绝对路径. 如果想预览office文件,先将office文件 ...

  8. 11.8 消除闪烁(2)(harib08h)

    ps:看书比较急,有错误的地方欢迎指正,不细致的地方我会持续的修改 11.8 消除闪烁(2)(harib08h) 11.7 消除闪烁(1)(harib08g)存在的问题: 鼠标放在计时器上会有 闪烁, ...

  9. 基于DPDK抓包的Suricata安装部署

    一.背景 Suricata支持网卡在线抓包和离线读取PCAP包两种形式的抓包: 离线抓包天然具有速度慢.非实时的特点 在线捕获数据包又包括常规网卡抓包.PF_RING和DPDK的方式 由于项目分光的流 ...

  10. Java面试——Linux

    一.如果知道一个文件名称,怎么查这个文件在 Linux下的哪个目录,如:要查找 tnsnames.ora文件 1 find / -name tnsnames.ora 2 #还可以用locate 来查找 ...