C++匿名函数怎么使用

avatar
作者
猴君
阅读量: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()函数的操作函数,打印排序后的结果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!