Maison > développement back-end > C++ > Fonction C++ Expression Lambda passée en paramètre

Fonction C++ Expression Lambda passée en paramètre

WBOY
Libérer: 2024-04-20 09:42:01
original
1162 Les gens l'ont consulté

Les expressions Lambda C++ peuvent être transmises en tant que paramètres à d'autres fonctions, la syntaxe est la suivante : auto lambda_function = [](parameter_list) -> return_type { ... }. Par exemple, la fonction for_each reçoit comme arguments un vecteur et une expression lambda qui effectue une opération spécifiée (comme l'impression des éléments vectoriels sur la console).

C++ 函数 Lambda 表达式作为参数传递

Expression Lambda de fonction C++ passée en paramètre

Une expression Lambda est une petite fonction anonyme qui peut être transmise en paramètre à d'autres fonctions. Ceci est utile lorsqu'une ou deux lignes de code doivent être passées en paramètres.

Syntaxe

auto lambda_function = [](parameter_list) -> return_type {
  // lambda 函数体
};
Copier après la connexion

Exemple

Voici un exemple de fonction C++ qui accepte une expression lambda comme paramètre :

#include <iostream>
#include <vector>

using namespace std;

void for_each(const vector<int>& v, function<void(int)> f) {
  for (int i : v) {
    f(i);
  }
}

int main() {
  vector<int> v = {1, 2, 3, 4, 5};

  // lambda 表达式作为 for_each 函数的参数
  for_each(v, [](int i) {cout << i << endl; });

  return 0;
}
Copier après la connexion

Output

1
2
3
4
5
Copier après la connexion

Dans cet exemple, la fonction for_each accepte un vecteur et une formule d'expression lambda en paramètre. Une expression lambda est utilisée comme fonction de rappel qui effectue une opération spécifiée sur chaque élément vectoriel (dans ce cas, l'élément de sortie).

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal