Maison >développement back-end >C++ >Comment remplacer le pointeur de fonction par une expression lambda C++ ?
Le remplacement des pointeurs de fonction par des expressions lambda améliore la lisibilité, réduit le code passe-partout et augmente la réutilisabilité. Plus précisément, les expressions lambda utilisent la syntaxe suivante : [capture list](parameter list) -> return type {body}, et peuvent être utilisées dans des cas pratiques tels que le tri vectoriel pour améliorer la simplicité et la maintenabilité du code.
Remplacez les pointeurs de fonction par des expressions Lambda C++
Les expressions Lambda ont été introduites en C++11 et fournissent un moyen simple de définir des fonctions anonymes ou des pointeurs de fonction. Le remplacement des pointeurs de fonction par des expressions lambda présente de nombreux avantages, notamment :
Syntaxe
La syntaxe d'une expression lambda est la suivante :
[capture list](parameter list) -> return type { body }
Exemple
Ce qui suit est un exemple de remplacement de pointeurs de fonction par des expressions lambda :
// 函数指针方式 int compare(int a, int b) { return a - b; } // Lambda 表达式方式 auto compare = [](int a, int b) { return a - b; };
Cas pratique : trier les vecteurs
On peut voir les avantages des expressions lambda dans un cas pratique :
#include <vector> #include <algorithm> int main() { std::vector<int> v = { 1, 5, 3, 2, 4 }; // 用 lambda 表达式对向量进行排序 std::sort(v.begin(), v.end(), [](int a, int b) { return a < b; }); // 打印排序后的向量 for (int x : v) { std::cout << x << " "; } return 0; }
In dans ce cas, l'expression lambda est utilisée pour définir une fonction de comparaison utilisée pour trier les vecteurs. Il n'est pas nécessaire de définir des fonctions distinctes et le code est plus simple et plus facile à comprendre.
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!