c++

C++匿名函数怎么使用

小亿
92
2024-02-01 10:59:33
栏目: 编程语言

在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()函数的操作函数,打印排序后的结果。

0
看了该问题的人还看了