Vincular Vs Lambda?

Eu tenho uma pergunta sobre qual estilo é preferido: std :: bind Vs lambda em C ++ 0x. Eu sei que eles servem a alguns propósitos diferentes, mas vamos dar um exemplo de funcionalidade que se cruza.

Usandolambda:

uniform_int<> distribution(1, 6);
mt19937 engine;
// lambda style
auto dice = [&]() { return distribution(engine); };

Usandobind:

uniform_int<> distribution(1, 6);
mt19937 engine;
// bind style
auto dice = bind(distribution, engine);

Qual devemos preferir? porque? assumindo situações mais complexas em comparação com o exemplo mencionado. ou seja, quais são as vantagens / desvantagens de um sobre o outro?

questionAnswers(6)

yourAnswerToTheQuestion