Maison > Article > développement back-end > Quels sont les scénarios d'utilisation des expressions lambda dans les fonctions C++ ?
Les expressions Lambda sont des fonctions anonymes qui peuvent être utilisées pour simplifier le code, servir de fonctions de rappel ou de fonctions paramétrées. Les avantages incluent la simplification du code, la réduction de la redondance et l'augmentation de la flexibilité.
Scénarios d'utilisation des expressions lambda dans les fonctions C++
L'expression lambda est une fonction anonyme qui peut être définie et utilisée dans le corps de la fonction. Contrairement aux fonctions ordinaires, les expressions lambda n'ont pas de nom et ne peuvent être utilisées que dans le cadre dans lequel elles sont définies.
Scénarios d'utilisation :
#include <iostream> #include <vector> int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; // 使用 lambda 表达式增加每个元素 std::for_each(numbers.begin(), numbers.end(), [](int& n) { n++; }); // 打印增加后的列表 for (int num : numbers) { std::cout << num << " "; } return 0; }
#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> numbers = {1, 5, 2, 4, 3}; // 使用 lambda 表达式对列表排序 std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a < b; }); // 打印排序后的列表 for (int num : numbers) { std::cout << num << " "; } return 0; }
#include <iostream> #include <vector> void for_each(std::vector<int>& numbers, std::function<void(int&)> operation) { for (int& num : numbers) { operation(num); } } int main() { std::vector<int> numbers = {1, 2, 3, 4, 5}; // 使用 lambda 表达式参数化 for_each 函数 for_each(numbers, [](int& n) { n *= n; }); // 打印平方后的列表 for (int num : numbers) { std::cout << num << " "; } return 0; }
Avantages :
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!