la fonction de classement pour une map/set contenant des objets pour les classer
ça t'évite de devoir faire des bind ou autre truc chiants lorsque tu rédige ta fonction, tu peux capturer les membres locaux par référence (ou copie)...
Lorsque dans ton projet tu te retrouves avec 50 fonctions de tri/tests avec des bind pour gérer les conditions ( bon dans certains cas y a juste des objets de tests avec l'operator() défini, et les membres qui vont bien), mais les lamdas donnent une certaine souplesse lors de la rédaction.
Un autre intérêt des lambdas est lorsqu'on veux exécuter du code en fin de bloc, quel que soit le chemin utilisé (exception, return, fin de scope)... l'équivalent du finally en java.
Soit tu mets ton code (ou ta fonction avec toutes les références nécessaires) et tu l'appelle partout où tu risque de sortir (avec des try{}/catch()), en espérant ne pas en avoir loupé, soit tu fais un bête
autocleanup=finally([&]{free(bidule);});
Note bien, c'est juste un exemple, ça peut être n'importe quoi.
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: À suivre?
Posté par fearan . En réponse au journal C++ Core Guidelines. Évalué à 4.
ça t'évite de devoir faire des bind ou autre truc chiants lorsque tu rédige ta fonction, tu peux capturer les membres locaux par référence (ou copie)...
Lorsque dans ton projet tu te retrouves avec 50 fonctions de tri/tests avec des bind pour gérer les conditions ( bon dans certains cas y a juste des objets de tests avec l'operator() défini, et les membres qui vont bien), mais les lamdas donnent une certaine souplesse lors de la rédaction.
Un autre intérêt des lambdas est lorsqu'on veux exécuter du code en fin de bloc, quel que soit le chemin utilisé (exception, return, fin de scope)... l'équivalent du finally en java.
Soit tu mets ton code (ou ta fonction avec toutes les références nécessaires) et tu l'appelle partout où tu risque de sortir (avec des try{}/catch()), en espérant ne pas en avoir loupé, soit tu fais un bête
Note bien, c'est juste un exemple, ça peut être n'importe quoi.
Il ne faut pas décorner les boeufs avant d'avoir semé le vent