Lambda 表達式是一種匿名函數,語法如下:[捕獲列表] (參數列表) -> 返回類型{ 函數體}捕獲列表指定要從周圍環境捕獲的變量,參數列表指定參數列表,返回類型指定返回類型,函數體定義函數體。捕獲變數按引用捕獲,類型可根據捕獲清單、參數列表和返回類型推斷。
#Lambda 表達式是一種匿名函數,它允許您在無需定義明確函數的情況下創建一個可調用的對象。其語法如下:
[capture list] (parameter list) -> return type { function body }
其中:
以下是一些範例:
// Capture 变量 x 并返回 x 的平方 auto square = [](int x) { return x * x; }; // 捕获变量 y 并返回 y 的立方 auto cube = [&](int y) { return y * y * y; };
注意:
以下是使用 lambda 表達式的簡單範例:
#include <iostream> #include <vector> using namespace std; int main() { // 使用 lambda 表达式对向量中的每个元素平方 vector<int> numbers = {1, 2, 3, 4, 5}; for_each(numbers.begin(), numbers.end(), [](int& num) { num *= num; }); // 使用 lambda 表达式对向量进行排序 sort(numbers.begin(), numbers.end(), [](int a, int b) { return a > b; }); // 打印排序后的向量 for (int num : numbers) { cout << num << " "; } cout << endl; return 0; }
以上是C++ Lambda 表達式的語法規則是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!