Sintaks senarai parameter bagi ungkapan Lambda ialah: [capture-list](parameters) -> return-type { body }, di mana: capture-list menangkap pembolehubah luaran. parameter ialah senarai parameter. jenis pulangan ialah jenis pulangan. badan ialah badan yang berfungsi.
Formulasi senarai parameter bagi C++ Lambda expression
Ekspresi Lambda ialah fungsi sebaris yang ringkas dan berkuasa dalam C++ yang boleh menangkap pembolehubah luaran dan menyimpannya pada timbunan. Sintaks senarai parameter ungkapan lambda adalah seperti berikut:
[capture-list](parameters) -> return-type { body }
capture-list menentukan pembolehubah luaran untuk ditangkap, yang boleh mempunyai nilai berikut:
[=]
: 捕获所有外部变量[&]
: 捕获所有外部变量,并作为引用传递[parameter1, parameter2, ...]
: 捕获指定的外部变量[parameter1, parameter2, ..., ¶meter3, ¶meter4, ...]
: 既捕获指定的变量,又以引用形式捕获其他变量parameters 指定 lambda 表达式的参数列表,语法与普通函数的参数列表相同。
return-type 指定 lambda 表达式的返回类型,可以是任何有效的 C++ 数据类型。
body 是 lambda 表达式的函数体,包含要执行的代码。
实战案例
考虑一个需要对整数列表进行排序的函数。我们可以使用 lambda 表达式定义一个比较函数:
auto compare = [](int a, int b) { return a > b; };
在这个例子中,lambda 表达式捕获了外部变量 a
和 b
。
我们也可以使用 lambda 表达式来创建匿名函数并立即执行:
auto print_name = [](string name) { cout << "Hello, " << name << endl; }; print_name("John Doe");
这个 lambda 表达式捕获了外部变量 name
,并将其作为参数传递给了 cout
a
dan b
. 🎜🎜Kami juga boleh menggunakan ungkapan lambda untuk mencipta fungsi tanpa nama dan melaksanakannya dengan segera: 🎜rrreee🎜Ungkapan lambda ini menangkap pembolehubah luaran cout fungsi. 🎜🎜Dengan senarai tangkapan tersuai dan senarai parameter, ungkapan lambda menyediakan alat yang berkuasa untuk menulis kod ringkas, fleksibel dan boleh digunakan semula dalam C++. 🎜
Atas ialah kandungan terperinci Bagaimana untuk merumuskan senarai parameter ungkapan lambda C++?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!