2013-04-04 2 views
2

Je pense qu'il pourrait être utile de stocker une fonction lambda liée à utiliser plus tard, mais je n'ai pas vu d'exemples sur la valeur de retour de la fonction boost::lambda::bind affectée à un objet de ce type de retour. N'y a-t-il aucun moyen de le faire proprement, ou n'y a-t-il aucune raison de le faire?Attribuer à l'objet la valeur de retour de boost :: lambda :: bind?

Exemple:

boost::lambda::lambda_functor<?> lf = boost::lambda::bind(boost::lambda::constructor<Foo>(), x); 
+2

Je ne suis pas familier avec Boost.Lambda, mais en C++ 11, vous pouvez utiliser 'auto' –

+0

Si vous utilisez déjà C++ 11, il n'y a pas grand besoin de boost :: lambda; Les lambdas font déjà partie du langage en C++ 11. – Salami

Répondre

4

Utilisez boost.Function pour stocker des objets de fonction:

boost::function<Foo()> lf = boost::lambda::bind(boost::lambda::constructor<Foo>(), x); 
+0

Exactement ce dont j'avais besoin. Merci! – jwalk

Questions connexes