Salut.
Maintenant, les lambda semblent plutôt bien supporté par les compilateurs (visual 2010, gcc 4.5, mingw 4.5,...). Je pense que plusieurs d'entre vous les ont tester voire adopté. Donc, voilà je voulais savoir ce que vous en pensez.
J'ai testé un peu cette semaine et je trouve cela très pratique.
QGraphicsView de Qt permet l'affiche d'un scenegraph2D. Cette classe propose une fonction appeler pour dessiner par dessus la scène. J'ai donc reimplementé cette fonction pour qu'il utilise un std::function. Avec les lambda, je peux très simplement fournir à la vue une nouvelle méthode pour dessiner.
Quand on fait une ihm, un composent est souvent composé d'autre composent plus spécialisé. j'ai créé une widget qui utilise des std::function pour le dessin et les actions souris. Ainsi avec quelques lambda, le composant spécialise très simplement ce sous composant à ses besoin. Par exemple juste pour afficher une information de manière graphique.
Au finale, je trouve que cela simplifie et éviter de créé une multitude de classe très spécialisé .On est très proche des ce que permet les inner classe de jave et C#.
Par contre, faut pas en abusé sinon le code deviens compréhensible.
Partager