#208 《高速上手 C++11/14》正式发布

最近一段时间一直在写这样一本书,今天总算是正式完成了。如今发布在了 Gitbook,主要链接如下:

  1. 在线阅读
  2. PDF 下载
  3. 相关代码

下面是一些关于此书的信息:

内容一览

  • 第一章 C++11/14 简介
    • 概述
    • 被弃用的特性
    • 与 C 的兼容性
  • 第二章 语言可用性的强化
    • nullptrconstexpr
    • 类型推导
      • auto
      • decltype
      • 尾返回类型、autodecltype 配合

    • 区间迭代
      • 基于范围的 for 循环
    • 初始化列表
      • std::initializer_list
      • 统一初始化语法
    • 模板增强
      • 外部模板
      • 尖括号 >
      • 类型别名模板
      • 变长参数模板
    • 面向对象增强
      • 委托构造
      • 继承构造
      • 显式虚函数重载
        • override
        • final
      • 显式禁用默认函数
    • 强类型枚举
  • 第三章 语言运行期的强化
    • lambda 表达式
      • lambda 表达式基础
        • 值捕获
        • 引用捕获
        • 隐式捕获
        • 表达式捕获
      • 泛型 lambda
    • 函数对象包装器
      • std::function
      • std::bind/std::placeholder
    • 右值引用
      • 左值、右值的纯右值、将亡值、右值
      • 右值引用和左值引用
      • 移动语义
      • 完美转发
  • 第四章 对标准库的扩充: 新增容器
    • std::array
    • std::forward_list
    • std::unordered_set
    • std::unordered_map
    • std::tuple
      • 基本操作
      • 运行期索引
      • 合并与迭代
  • 第五章 对标准库的扩充: 智能指针和引用计数
    • RAII 与引用计数
    • std::shared_ptr
    • std::unique_ptr
    • std::weak_ptr
  • 第六章 对标准库的扩充: 正则表达式库
    • 正则表达式简介
      • 普通字符
      • 特殊字符
      • 限定符
    • std::regex 及其相关
      • std::regex
      • std::regex_match
      • std::match_results
  • 第七章 对标准库的扩充: 语言级线程支持
    • std::thread
    • std::mutex
    • std::unique_lock
    • std::future
    • std::packaged_task
    • std::condition_variable
  • 第八章 其他杂项
    • 新类型
      • long long int
    • noexcept 的修饰和操作
    • 字面量
      • 原始字符串字面量
      • 自定义字面量
  • 第九章 扩展主题: C++17 简介
    • 主要入选特性
      • 非类型模板参数的 auto
      • std::variant<>
      • 结构化绑定(Structured bindings)
      • 变量声明的强化
    • 未入选特性
      • Concepts

交流

  1. 此教程在每节的最下方提供了评论,如果读者发现教程中内容的错误,可以使用评论或者通过发 issue 来指出;
  2. 此教程依然有很多特性没有参与介绍,例如 alignas 内存对齐、无限制联合等,主要是考虑到这些特性的使用频次实在是太低,故没有多做介绍,若对未提及的特性有需求,笔者可以考虑将其加入第八章
  3. 此教程有以下交流群,有兴趣的读者可以加入,加群请注明 gitbook

GitHub

此教程中涉及的相关代码可以在 GitHub 上查看:

https://github.com/changkun/cpp1x-tutorial

打赏催更