Maison > Article > développement back-end > Comment formuler la liste des paramètres de l'expression lambda C++ ?
La syntaxe de la liste de paramètres de l'expression Lambda est : [capture-list](parameters) -> return-type { body }, où : capture-list capture les variables externes. paramètres est la liste des paramètres. return-type est le type de retour. le corps est le corps fonctionnel.
Formulation de liste de paramètres de l'expression Lambda C++
L'expression Lambda est une fonction en ligne concise et puissante en C++ qui peut capturer des variables externes et les stocker sur la pile. La syntaxe de la liste de paramètres de l'expression lambda est la suivante :
[capture-list](parameters) -> return-type { body }
capture-list spécifie les variables externes à capturer, qui peuvent avoir les valeurs suivantes :
[=]
: Capturer tout variables externes[=]
: 捕获所有外部变量[&]
: 捕获所有外部变量,并作为引用传递[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
[&]
: Capturez toutes les variables externes et transmettez-les comme références
[paramètre1, paramètre2, ...]
: Capturez les variables externes spécifiées[paramètre1, paramètre2, ..., ¶mètre3, ¶mètre4, ...]
: capture à la fois la variable spécifiée et d'autres variables sous forme de référence
a
et b
. 🎜🎜Nous pouvons également utiliser des expressions lambda pour créer des fonctions anonymes et les exécuter immédiatement : 🎜rrreee🎜Cette expression lambda capture la variable externe name
et la passe en paramètre à cout fonction. 🎜🎜Avec des listes de capture et des listes de paramètres personnalisées, les expressions lambda fournissent des outils puissants pour écrire du code concis, flexible et réutilisable en C++. 🎜
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!