Qu'est-ce qu'une expression lambda en C++ et quand doit-on l'utiliser ?
Bonjour, collègues ! J'ai commencé à étudier C++11 et je tombe constamment sur le terme "expression lambda" (lambda expression). J'ai lu la documentation, mais je ne comprends pas encore complètement ce que c'est et, surtout, à quoi ça sert.
Voici un exemple que j'ai trouvé dans un tutoriel :
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
int multiplier = 3;
// Que se passe-t-il ici ?
std::for_each(numbers.begin(), numbers.end(), [multiplier](int n) {
std::cout << n * multiplier << " ";
});
return 0;
}
Je comprends que `std::for_each` applique une fonction à chaque élément, mais la construction `[multiplier](int n) { ... }` me trouble. Pourquoi ne peut-on pas simplement écrire No answers yet.
Connectez-vous pour laisser une réponse