Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit72ab8ab

Browse files
committed
revision:changkun#1 更新目录
1 parent1e54325 commit72ab8ab

File tree

2 files changed

+51
-42
lines changed

2 files changed

+51
-42
lines changed

‎book/2-usability.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ std::cout << "q: " << q << std::endl;
444444

445445
`decltype(auto)` 是 C++14 开始提供的一个略微复杂的用法。
446446

447-
>要理解它你需要知道 C++ 中参数转发的概念,我们会在[语言运行时强化]()一章中详细介绍,你可以到时再回来看这一小节的内容。
447+
>要理解它你需要知道 C++ 中参数转发的概念,我们会在[语言运行时强化](./3-runtime)一章中详细介绍,你可以到时再回来看这一小节的内容。
448448
449449

450450
简单来说,`decltype(auto)` 主要用于对转发函数或封装的返回类型进行推导,它使我们无需显式的指定`decltype` 的参数表达式。考虑看下面的例子,当我们需要对下面两个函数进行封装时:

‎book/toc.md

Lines changed: 50 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#高速上手现代 C++ 11/14/17
1+
#高速上手 C++ 11/14/17
22

33
>正在向全面介绍 C++17 特性的内容过度
44
@@ -9,34 +9,38 @@
99
+ 1.1 被弃用的特性
1010
+ 1.2 与 C 的兼容性
1111
+ 进一步阅读的参考文献
12-
-**第二章 语言可用性的强化**
13-
+ nullptr 与 constexpr
14-
+ 类型推导
15-
+`auto`
16-
+`decltype`
17-
+ 尾返回类型、`auto``decltype` 配合
18-
19-
<!--+ decltype(auto) (C++14)-->
20-
21-
+ 区间迭代
22-
+ 基于范围的 for 循环
23-
+ 初始化列表
24-
+`std::initializer_list`
25-
+ 统一初始化语法
26-
+ 模板增强
27-
+ 外部模板
28-
+ 尖括号`>`
29-
+ 类型别名模板
30-
+ 变长参数模板
31-
+ 面向对象增强
32-
+ 委托构造
33-
+ 继承构造
34-
+ 显式虚函数重载
35-
+`override`
36-
+`final`
37-
+ 显式禁用默认函数
38-
+ 强类型枚举
39-
-**第三章 语言运行期的强化**
12+
-[**第二章 语言可用性的强化**](./2-usability.md)
13+
+ 2.1 常量
14+
- nullptr
15+
- constexpr
16+
+ 2.2 变量及其初始化
17+
- if/switch 变量声明强化
18+
- 初始化列表
19+
- 结构化绑定
20+
+ 2.3 类型推导
21+
- auto
22+
- decltype
23+
- 尾返回类型
24+
- decltype(auto)
25+
+ 2.4 控制流
26+
- if constexpr
27+
- 区间 for 迭代
28+
+ 2.5 模板
29+
- 外部模板
30+
- 尖括号 ">"
31+
- 类型别名模板
32+
- 默认模板参数
33+
- 变长参数模板
34+
- 折叠表达式
35+
+ 2.6 面向对象
36+
- 委托构造
37+
- 继承构造
38+
- 显式虚函数重载
39+
- override
40+
- final
41+
- 显式禁用默认函数
42+
- 强类型枚举
43+
-[**第三章 语言运行期的强化**](./3-runtime.md)
4044
+ lambda 表达式
4145
+ lambda 表达式基础
4246
+ 值捕获
@@ -52,7 +56,7 @@
5256
+ 右值引用和左值引用
5357
+ 移动语义
5458
+ 完美转发
55-
-**第四章对标准库的扩充: 新增容器**
59+
-[**第四章标准库: 容器**](./4-containers.md)
5660
+`std::array`
5761
+`std::forward_list`
5862
+`std::unordered_set`
@@ -61,12 +65,12 @@
6165
+ 基本操作
6266
+ 运行期索引
6367
+ 合并与迭代
64-
-**第五章对标准库的扩充: 智能指针和引用计数**
68+
-[**第五章标准库: 指针**](./5-pointers.md)
6569
+ RAII 与引用计数
6670
+`std::shared_ptr`
6771
+`std::unique_ptr`
6872
+`std::weak_ptr`
69-
-**第六章对标准库的扩充: 正则表达式库**
73+
-[**第六章标准库: 正则表达式**](./6-regex.md)
7074
+ 正则表达式简介
7175
+ 普通字符
7276
+ 特殊字符
@@ -75,28 +79,33 @@
7579
+`std::regex`
7680
+`std::regex_match`
7781
+`std::match_results`
78-
-**第七章对标准库的扩充: 语言级线程支持**
82+
-[**第七章标准库: 线程与并发**](./7-thread.md)
7983
+`std::thread`
8084
+`std::mutex`
8185
+`std::unique_lock`
8286
+`std::future`
8387
+`std::packaged_task`
8488
+`std::condition_variable`
85-
-**第八章 其他杂项**
89+
-[**第八章 标准库: 文件系统** TODO]
90+
-[**第九章 其他杂项**](./8-others.md)
8691
+ 新类型
8792
+`long long int`
8893
+`noexcept` 的修饰和操作
8994
+ 字面量
9095
+ 原始字符串字面量
9196
+ 自定义字面量
92-
-**第九章 扩展主题: C++17 简介**
93-
+ 主要入选特性
94-
+ 非类型模板参数的`auto`
95-
+`std::variant<>`
96-
+结构化绑定(Structured bindings)
97-
+ 变量声明的强化
97+
+ 数学库
98+
-**第十章 展望:~~C++17~~ C++20 简介**
99+
+~~主要入选特性~~
100+
+~~非类型模板参数的`auto`~~
101+
+~~`std::variant<>`~~
102+
+~~变量声明的强化~~
98103
+ 未入选特性
99-
+ Concepts
104+
+ Concept
105+
+ Range
106+
+ Module
107+
+ Coroutine
108+
100109

101110
返回目录 | 上一章 |[下一章:序言](./0-preface.md)
102111

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp