创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
🔥c++系列专栏:C/C++零基础到精通 🔥给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ
c语言内容💖:
专栏:c语言之路重点知识整合
C++11 中的 lambda表达式用于定义匿名函数,同样有 参数列表, 返回值、 类型和 函数体,
但是它可以在函数内部定义。
定义小型匿名函数对象时更加便捷。
lambda表达式的格式:
auto 函数名 = [capture](parameters) -> return_type {
body };
其中:
- captures 捕获列表,用于捕获lambda外部的变量 , lambda可以把上下文变量以**值=或引用&**的方式捕获(如果是引用传递,lambda 函数将会改变变量值),在body中直接使用,可以省略,即不捕获任何变量
- parameters 参数列表,与普通函数的参数列表相同
- ->return_type lambda 表达式的返回类型,如果省略,编译器将自动推导类型
- body 函数体代码
例 1:
没有捕获列表、参数、返回值的 lambda 函数:
#include<iostream>
using namespace std;
int main()
{
auto fun = []() {
cout << "this is a lambda function" << endl; };