问题描述:
最近发现很多人都喜欢用Lamda表达式了,至于他们到底知不知道自己用的是什么意思,那就另说了。
虽然我个人并不太喜欢,因为很多地方没法像以前信号和槽那样清晰了,而且很多生成UML的软件估计也不支持解析转成对应的序列图啥的。
但是这个lamda写法确实挺方便的。用习惯了,倒是也不错。
就跟Java Android里面那个setOnclickListener似的,一行代码写好几行,看着也挺费劲的。
大家记住这里的几个参数,多多学学吧。
解决办法:
Lambda表达式是一种匿名函数的形式,它可以在需要函数的地方被使用。Lambda表达式提供了一种简洁的方式来定义函数,而不需要显式地定义一个函数。
在C++中,Lambda表达式的语法如下:
[捕获列表] (参数列表) -> 返回类型 {
函数体
}
其中,捕获列表(capture list)可以用来捕获外部变量,参数列表用于指定函数的参数,返回类型用于指定函数的返回类型,函数体则是具体的实现。
下面是一个简单的例子,展示了如何使用Lambda表达式:
#include <iostream>
#include <vector>
#include <algorithm&g