渣渣兔 发表于 2024-5-19 10:40:47

cpp的lambda表达式

在C++中,lambda表达式提供了一种方便的方式来界说匿名函数。Lambda可以用来创建简朴的函数对象,常用于算法库中的函数参数,特别是在STL(Standard Template Library)中。
Lambda表达式的语法是如许的:
[ capture ] ( parameters ) -> return-type {
    function-body
}其中:

[*]capture:捕获列表,用于指定哪些变量从封闭的作用域中捕获以及如何捕获(值捕获、引用捕获、不捕获、隐式捕获)。例如,表现x通过值捕获,而y通过引用捕获。
[*]parameters:参数列表,与普通函数的参数列表雷同。如果没有参数,可以省略或者写成空括号()。
[*]return-type:返回范例。自C++14起,如果lambda函数体只包含一个return语句,或者返回范例显而易见,则可以省略返回范例,编译器会进行主动推断。
[*]function-body:函数体,包含了lambda的执行语句。
下面是一些lambda表达式的示例:
示例 1:无参数,简朴的打印
auto printHello = []() {    std::cout
页: [1]
查看完整版本: cpp的lambda表达式