1. Lambda表达式
实际上是提供了匿名函数的特性,
Lambda表达式的本质是一个和函数对象类型相似的类类型(称为闭包类型)的对象(称为闭包对象)。
捕获列表:所谓捕获列表,其实可以理解为参数的一种类型,lambda表达式内部函数体在默认情况下是不能够使用函数体外部的变量的,这时候捕获列表可以起到传递外部数据的作用。
捕获列表类型:
- 1.值捕获 (捕获左值)
- 2.引用捕获 (捕获左值)
- 3.隐式捕获 []空 [name1,name2, …]捕获一系列变量 [=]值捕获,编译器简化处理 [&]引用捕获,编译器简化处理
- 4.表达式捕获(捕获右值) important是一个独占指针,是不能够被捕获到的,这时候我们需要将其转移为右值,在表达式中初始化
2.函数对象包装器
3.右值引用
后面的例子不太看的懂。。
4.参考资料
现代 C++ 教程:高速上手 C++11_14_17_20.pdf