mirror of
https://github.com/changkun/modern-cpp-tutorial.git
synced 2025-12-17 12:44:40 +03:00
revision #1: 第 1 章增加了对 C++17 的支持
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
# 高速上手现代 C++ 11/14/17
|
||||
|
||||
> 内容修订中
|
||||
|
||||
## 引言
|
||||
|
||||
C++ 是一个用户群体相当大的语言。从 C++98 的出现到 C++11 的正式定稿经历了长达十年多之久的积累。C++14/17 则是作为对 C++11 的重要补充和优化,所有这些新标准中扩充的特性,给 C++ 这门语言注入了新的活力。
|
||||
@@ -28,102 +26,7 @@ C++17 则是近三年依赖 C++ 社区一致推进的方向,也指出了**现
|
||||
|
||||
此外,本教程希望读者在阅读本书后,能够努力在新项目中直接使用 C++17,并努力将旧项目逐步迁移到 C++17。也算是笔者为推进现代 C++ 的普及贡献了一些绵薄之力。
|
||||
|
||||
## 目录
|
||||
|
||||
> 目录正在向支持 C++17 的内容过度
|
||||
|
||||
- **第一章 C++11/14/17 简介**
|
||||
+ 概述
|
||||
+ 被弃用的特性
|
||||
+ 与 C 的兼容性
|
||||
- **第二章 语言可用性的强化**
|
||||
+ `nullptr` 与 `constexpr`
|
||||
+ 类型推导
|
||||
+ `auto`
|
||||
+ `decltype`
|
||||
+ 尾返回类型、`auto` 与 `decltype` 配合
|
||||
|
||||
<!--+ decltype(auto) (C++14)-->
|
||||
|
||||
+ 区间迭代
|
||||
+ 基于范围的 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
|
||||
[返回目录](./toc.md) | 上一章 | [下一章](./1-intro.md)
|
||||
|
||||
## 许可
|
||||
|
||||
|
||||
Reference in New Issue
Block a user