mirror of
https://github.com/changkun/modern-cpp-tutorial.git
synced 2025-12-17 12:44:40 +03:00
changes: 优化文档导航
This commit is contained in:
@@ -30,7 +30,7 @@ C++17 则是近三年依赖 C++ 社区一致推进的方向,也指出了**现
|
||||
|
||||
本书每章中都出现了大量的代码,如果你在跟随本书介绍特性的思路编写自己的代码遇到问题时,不妨读一读随书附上的源码,你可以在[这里](../code)中找到书中介绍过的全部的源码,所有代码按章节组织,文件夹名称为章节序号。
|
||||
|
||||
[返回目录](./toc.md) | 上一章 | [下一章:迈向 C++11/14/17](./01-intro.md)
|
||||
[返回目录](./toc.md) | 上一章 | [下一章 迈向 C++11/14/17](./01-intro.md)
|
||||
|
||||
## 许可
|
||||
|
||||
|
||||
@@ -126,7 +126,7 @@ clean:
|
||||
|
||||
不必担心,本书的后续章节将为你介绍这一切。
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./00-preface.md) | [下一章:语言可用性强化](./02-usability.md)
|
||||
[返回目录](./toc.md) | [上一章](./00-preface.md) | [下一章 语言可用性强化](./02-usability.md)
|
||||
|
||||
## 进一步阅读的参考文献
|
||||
|
||||
|
||||
@@ -963,7 +963,7 @@ std::cout << new_enum::value3 << std::endl
|
||||
|
||||
> 参考答案[见此](../exercises/2)。
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./01-intro.md) | [下一章:运行时强化](./03-runtime.md)
|
||||
[返回目录](./toc.md) | [上一章](./01-intro.md) | [下一章 运行时强化](./03-runtime.md)
|
||||
|
||||
## 进一步阅读的参考文献
|
||||
|
||||
|
||||
@@ -435,6 +435,8 @@ std::forward 传参:左值引用
|
||||
2. 函数对象容器 std::function
|
||||
3. 右值引用
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./02-usability.md) | [下一章 标准库:容器](./04-containers.md)
|
||||
|
||||
## 许可
|
||||
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/80x15.png" /></a>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 第 4 章 对标准库的扩充:新增容器
|
||||
# 第 4 章 标准库:容器
|
||||
|
||||
> 内容修订中
|
||||
|
||||
@@ -247,6 +247,8 @@ for(int i = 0; i != tuple_len(new_tuple); ++i)
|
||||
|
||||
`std::tuple` 虽然有效,但是标准库提供的功能有限,没办法满足运行期索引和迭代的需求,好在我们还有其他的方法可以自行实现。
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./03-runtime.md) | [下一章 标准库:指针](./05-pointers.md)
|
||||
|
||||
## 许可
|
||||
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/80x15.png" /></a>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 第 5 章 对标准库的扩充:引用计数与智能指针
|
||||
# 第 5 章 标准库:指针
|
||||
|
||||
> 内容修订中
|
||||
|
||||
@@ -176,6 +176,8 @@ int main() {
|
||||
|
||||
智能指针这种技术并不新奇,在很多语言中都是一种常见的技术,C++1x 将这项技术引进,在一定程度上消除了 `new`/`delete` 的滥用,是一种更加成熟的编程范式。
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./04-containers.md) | [下一章 标准库:正则表达式](./06-regex.md)
|
||||
|
||||
## 进一步阅读的参考资料
|
||||
|
||||
1. [stackoverflow 上关于『C++11为什么没有 make_unique』的讨论](http://stackoverflow.com/questions/12580432/why-does-c11-have-make-shared-but-not-make-unique)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 第 6 章 正则表达式库
|
||||
# 第 6 章 标准库:正则表达式
|
||||
|
||||
> 内容修订中
|
||||
|
||||
@@ -134,6 +134,8 @@ bar.txt sub-match[1]: bar
|
||||
|
||||
> 本节提到的内容足以让我们开发编写一个简单的 Web 框架中关于URL匹配的功能,请参考习题 TODO
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./05-pointers.md) | [下一章 标准库:线程与并发](./07-thread.md)
|
||||
|
||||
## 进一步阅读的参考资料
|
||||
|
||||
1. [知乎『如何评价 GCC 的 C++11 正则表达式?』中原库作者 Tim Shen 的回答](http://zhihu.com/question/23070203/answer/84248248)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 第 7 章 语言级线程支持
|
||||
# 第 7 章 标准库:线程与并发
|
||||
|
||||
> 内容修订中
|
||||
|
||||
@@ -173,6 +173,8 @@ C++11 语言层提供了并发编程的相关支持,本节简单的介绍了 `
|
||||
|
||||
> 本节提到的内容足以让我们使用不超过 100 行代码编写一个简单的线程池库,请参考习题 TODO
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./06-regex.md) | [下一章 标准库:文件系统](./08-filesystem.md)
|
||||
|
||||
## 进一步阅读的参考资料
|
||||
|
||||
1. [C++ 并发编程\(中文版\)](https://www.gitbook.com/book/chenxiaowei/cpp_concurrency_in_action/details)
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# 第 8 章 标准库: 文件系统
|
||||
|
||||
> TODO: 这部分内容为 C++17 新增
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./07-thread.md) | [下一章 其他杂项](./09-others.md)
|
||||
@@ -147,6 +147,8 @@ return 0;
|
||||
|
||||
本节介绍的几个特性是从仍未介绍的 C++1x 新特性里使用频次较靠前的特性了,`noexcept` 是最为重要的特性,它的一个功能在于能够阻止异常的扩散传播,有效的让编译器最大限度的优化我们的代码。
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./08-filesystem.md) | [下一章 展望:C++20 简介](./10-cpp20.md)
|
||||
|
||||
## 许可
|
||||
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/80x15.png" /></a>
|
||||
|
||||
@@ -126,6 +126,9 @@ Concepts TS 的发布到最后一次 C++17 的讨论会只相隔了不到四个
|
||||
|
||||
总的来说,类似于 Concepts/Ranges/Modules 这些令人兴奋的特性并没有入选至 C++17,这注定了 C++17 某种意义上来说相较于 C++11/14 依然只是小幅度更新,但我们有望在 C++2x 中看到这些东西的出现,这些内容对于一门已经三十多岁『高龄』的编程语言,依然是充满魅力的。
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./09-others.md) | [下一章 附录:进一步阅读的学习材料](./appendix.md)
|
||||
|
||||
|
||||
## 进一步阅读的参考资料
|
||||
|
||||
1. [Final features of C++17](https://meetingcpp.com/index.php/br/items/final-features-of-c17.html)
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
- [每位程序员都需要知道的内存知识](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf)
|
||||
- 待补充
|
||||
|
||||
[返回目录](./toc.md) | [上一章](./10-cpp20.md) | 下一章
|
||||
|
||||
## 许可
|
||||
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/80x15.png" /></a>
|
||||
|
||||
18
book/toc.md
18
book/toc.md
@@ -9,7 +9,7 @@
|
||||
+ 1.1 被弃用的特性
|
||||
+ 1.2 与 C 的兼容性
|
||||
+ 进一步阅读的参考文献
|
||||
- [**第二章 语言可用性的强化**](./02-usability.md)
|
||||
- [**第 2 章 语言可用性的强化**](./02-usability.md)
|
||||
+ 2.1 常量
|
||||
- nullptr
|
||||
- constexpr
|
||||
@@ -40,7 +40,7 @@
|
||||
- final
|
||||
- 显式禁用默认函数
|
||||
- 强类型枚举
|
||||
- [**第三章 语言运行期的强化**](./03-runtime.md)
|
||||
- [**第 3 章 语言运行期的强化**](./03-runtime.md)
|
||||
+ lambda 表达式
|
||||
+ lambda 表达式基础
|
||||
+ 值捕获
|
||||
@@ -56,7 +56,7 @@
|
||||
+ 右值引用和左值引用
|
||||
+ 移动语义
|
||||
+ 完美转发
|
||||
- [**第四章 标准库: 容器**](./04-containers.md)
|
||||
- [**第 4 章 标准库: 容器**](./04-containers.md)
|
||||
+ `std::array`
|
||||
+ `std::forward_list`
|
||||
+ `std::unordered_set`
|
||||
@@ -65,12 +65,12 @@
|
||||
+ 基本操作
|
||||
+ 运行期索引
|
||||
+ 合并与迭代
|
||||
- [**第五章 标准库: 指针**](./05-pointers.md)
|
||||
- [**第 5 章 标准库: 指针**](./05-pointers.md)
|
||||
+ RAII 与引用计数
|
||||
+ `std::shared_ptr`
|
||||
+ `std::unique_ptr`
|
||||
+ `std::weak_ptr`
|
||||
- [**第六章 标准库: 正则表达式**](./06-regex.md)
|
||||
- [**第 6 章 标准库: 正则表达式**](./06-regex.md)
|
||||
+ 正则表达式简介
|
||||
+ 普通字符
|
||||
+ 特殊字符
|
||||
@@ -79,15 +79,15 @@
|
||||
+ `std::regex`
|
||||
+ `std::regex_match`
|
||||
+ `std::match_results`
|
||||
- [**第七章 标准库: 线程与并发**](./07-thread.md)
|
||||
- [**第 7 章 标准库: 线程与并发**](./07-thread.md)
|
||||
+ `std::thread`
|
||||
+ `std::mutex`
|
||||
+ `std::unique_lock`
|
||||
+ `std::future`
|
||||
+ `std::packaged_task`
|
||||
+ `std::condition_variable`
|
||||
- [**第八章 标准库: 文件系统**](./08-filesystem.md)
|
||||
- [**第九章 其他杂项**](./09-others.md)
|
||||
- [**第 8 章 标准库: 文件系统**](./08-filesystem.md)
|
||||
- [**第 9 章 其他杂项**](./09-others.md)
|
||||
+ 新类型
|
||||
+ `long long int`
|
||||
+ `noexcept` 的修饰和操作
|
||||
@@ -95,7 +95,7 @@
|
||||
+ 原始字符串字面量
|
||||
+ 自定义字面量
|
||||
+ 数学库
|
||||
- [**第十章 展望: C++20 简介**](./10-cpp20.md)
|
||||
- [**第 10 章 展望: C++20 简介**](./10-cpp20.md)
|
||||
+ Concept
|
||||
+ Range
|
||||
+ Module
|
||||
|
||||
Reference in New Issue
Block a user