溫馨提示×

C++匿名函數怎么使用

c++
小億
92
2024-02-01 10:59:33
欄目: 編程語言

在C++中,可以使用lambda表達式來創(chuàng)建匿名函數。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