Maison > développement back-end > C++ > 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 ?

王林
Libérer: 2024-04-18 09:15:01
original
744 Les gens l'ont consulté

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; });
Copier après la connexion

2 Transformer les éléments dans un conteneur

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

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; });
Copier après la connexion

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

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

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!

É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