ラムダ式は次の構文を持つ匿名関数です: [キャプチャ リスト] (パラメータ リスト) -> 戻り値の型 {関数本体} キャプチャ リストは周囲の環境からキャプチャされる変数を指定し、パラメータ リストはパラメータ リストを指定します。 、戻り値の型は戻り値の型を指定し、関数本体は関数本体を定義します。キャプチャ変数は参照によってキャプチャされ、キャプチャ リスト、パラメータ リスト、および戻り値の型から型を推測できます。
ラムダ式は、明示的な関数を定義せずに呼び出し可能なオブジェクトを作成できる匿名関数です。構文は次のとおりです:
[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; };
注:
以下はラムダ式を使用した簡単な例です:
#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++ ラムダ式の構文規則は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。