> For the complete documentation index, see [llms.txt](https://zoupers.gitbook.io/cpp-17-stl-cookbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zoupers.gitbook.io/cpp-17-stl-cookbook/chapter8-0-chinese.md).

# 第8章 工具类

本章将关注工具类，这些类能帮助我们很快地解决一些特定的任务。有些工具类我们将会在本书后续的章节中经常使用。

前两节与时间测量有关，我们将了解到如何在两种不同的时间单位间互相转换，并如何确定两个时间点。

然后，我了解一下`optional`、`variant`和`any`类型(都是在C++14和C++17中添加的新类)，在接下来的5节中，我们将介绍有关`tuple`的内容。

C++11之后，C++中添加了新的智能指针类型，分别为：`unique_ptr`，`shared_ptr`和`weak_ptr`，因为智能指针方便对内存的管理，所以给智能指针设置了5节内容。

最后，将从大体上浏览一下STL中有关于随机数生成的部分。除了学习STL中随机数引擎的特性之外，还将了解到如何在实际应用中选择合适的随机数分布。
