15.10 — 引用限定符

作者注:这是一个可选课程。我们建议您大致阅读一遍以熟悉材料,但不需要完全理解即可继续学习未来的课程。在第 课中,我们讨论了调用返回数据成员引用的访问函数在以下情况下可能很危险:……

13.15 — 别名模板

在第 课中,我们讨论了类型别名如何让我们为现有类型定义别名。为类模板创建类型别名,其中所有模板参数都明确指定,其工作方式与普通类型别名类似: #include <iostream> template <typename T> struct Pair { T first{}; T …

17.13 — 多维 std::array

在上一课()中,我们讨论了 C 风格的多维数组。 // C 风格二维数组 int arr[3][4] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }}; 但如你所知,我们通常希望避免 C 风格数组(除非它们是……

17.6 — std::array 和枚举

在第 课中,我们讨论了数组和枚举。现在我们的工具包中有了 constexpr std::array,我们将继续讨论并展示一些额外的技巧。使用 static assert 确保数组初始值设定项的数量正确。当使用 CTAD 初始化 constexpr std::array 时,编译器将……