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

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

WBOY
WBOYoriginal
2024-04-20 09:42:011135parcourir

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 函数体
};

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;
}

Output

1
2
3
4
5

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!

Déclaration:
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