mirror of
https://github.com/changkun/modern-cpp-tutorial.git
synced 2025-12-17 20:54:39 +03:00
fix: refine title number
This commit is contained in:
@@ -8,28 +8,9 @@ order: 3
|
||||
|
||||
> 内容修订中
|
||||
|
||||
## 一、本节内容
|
||||
[TOC]
|
||||
|
||||
本节内容包括:
|
||||
|
||||
* 语言运行期的强化
|
||||
* lambda 表达式
|
||||
* lambda 表达式基础
|
||||
* 值捕获
|
||||
* 引用捕获
|
||||
* 隐式捕获
|
||||
* 表达式捕获
|
||||
* 泛型 lambda
|
||||
* 函数对象包装器
|
||||
* std::function
|
||||
* std::bind/std::placeholder
|
||||
* 右值引用
|
||||
* 左值、右值的纯右值、将亡值、右值
|
||||
* 右值引用和左值引用
|
||||
* 移动语义
|
||||
* 完美转发
|
||||
|
||||
## 二、Lambda 表达式
|
||||
## 3.1 Lambda 表达式
|
||||
|
||||
Lambda 表达式是 C++11 中最重要的新特性之一,而 Lambda 表达式,实际上就是提供了一个类似匿名函数的特性,而匿名函数则是在需要一个函数,但是又不想费力去命名一个函数的情况下去使用的。这样的场景其实有很多很多,所以匿名函数几乎是现代编程语言的标配。
|
||||
|
||||
@@ -131,7 +112,7 @@ add(1, 2);
|
||||
add(1.1, 2.2);
|
||||
```
|
||||
|
||||
## 二、函数对象包装器
|
||||
## 3.2 函数对象包装器
|
||||
|
||||
这部分内容虽然属于标准库的一部分,但是从本质上来看,它却增强了 C++ 语言运行时的能力,这部分内容也相当重要,所以放到这里来进行介绍。
|
||||
|
||||
@@ -200,7 +181,7 @@ int main() {
|
||||
|
||||
> **提示:**注意 `auto` 关键字的妙用。有时候我们可能不太熟悉一个函数的返回值类型,但是我们却可以通过 `auto` 的使用来规避这一问题的出现。
|
||||
|
||||
## 三、右值引用
|
||||
## 3.3 右值引用
|
||||
|
||||
右值引用是 C++11 引入的与 Lambda 表达式齐名的重要特性之一。它的引入解决了 C++ 中大量的历史遗留问题,消除了诸如 `std::vector`、`std::string` 之类的额外开销,也才使得函数对象容器 `std::function` 成为了可能。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user