Maison  >  Article  >  développement back-end  >  Quels sont quelques exemples pratiques d’utilisation d’expressions lambda C++ pour le filtrage et la transformation des données ?

Quels sont quelques exemples pratiques d’utilisation d’expressions lambda C++ pour le filtrage et la transformation des données ?

王林
王林original
2024-04-18 09:15:01731parcourir

En C++, les expressions lambda peuvent être utilisées pour filtrer et transformer facilement les données. Par exemple, vous pouvez utiliser des expressions lambda pour filtrer les éléments impairs dans un conteneur, transformer des éléments dans un conteneur, filtrer et transformer des conteneurs associatifs, utiliser des expressions lambda dans des algorithmes et transmettre des expressions lambda comme arguments de fonction. Ces méthodes peuvent rendre les tâches de traitement des données plus simples et plus efficaces.

使用 C++ lambda 表达式进行数据过滤和转换有哪些实战案例?

Exemples pratiques d'utilisation d'expressions lambda C++ pour le filtrage et la transformation des données

Les expressions lambda sont très utiles en C++, en particulier lors du filtrage et de la transformation des données. Voici quelques exemples d'applications pratiques :

1. Filtrer les éléments dans un conteneur

std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9};

// 使用 lambda 表达式过滤奇数
std::vector<int> odd_numbers = std::filter(numbers.begin(), numbers.end(), [](int n) { return n % 2 != 0; });

2 Transformer les éléments dans un conteneur

std::vector<double> squares = std::transform(numbers.begin(), numbers.end(), [](int n) { return n * n; });

3. expressions dans les algorithmes

std::map<int, std::string> name_age = {
    {1, "John"},
    {2, "Mary"},
    {3, "Bob"},
    {4, "Alice"}
};

// 过滤年龄大于 2 的人
auto filtered_name_age = std::map<int, std::string>(name_age.begin(), name_age.end(), [](const std::pair<int, std::string>& p) { return p.second.size() > 2; });

5. Passer des expressions lambda comme paramètres de fonction

std::sort(numbers.begin(), numbers.end(), [](int a, int b) { return a > b; }); // 从大到小排序

Ce ne sont là que quelques-unes des façons d'utiliser les expressions lambda pour le filtrage et la transformation des données en C++. En tirant parti des expressions lambda, vous pouvez écrire du code concis et puissant pour gérer diverses tâches de manipulation de données.

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