阅读量:3
在C++中,可以使用lambda表达式来创建匿名函数。lambda表达式可以在需要函数对象的地方使用,例如作为函数参数、赋值给变量或者直接调用。
lambda表达式的基本语法如下:
捕捉列表 -> 返回类型 { 函数体 }
其中,捕捉列表用于捕获局部变量,参数列表用于定义函数参数,返回类型用于定义函数返回值类型,函数体用于定义函数逻辑。
下面是一个使用lambda表达式的例子:
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; // 使用匿名函数作为sort函数的比较函数 std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a > b; }); // 使用匿名函数打印排序后的结果 std::for_each(numbers.begin(), numbers.end(), [](int num) { std::cout << num << " "; }); return 0; }
在上述代码中,我们使用lambda表达式作为std::sort()
函数的比较函数,按降序对numbers
进行排序。然后使用lambda表达式作为std::for_each()
函数的操作函数,打印排序后的结果。