¿Por qué usar std :: bind sobre lambdas en C ++ 14?

Antes de C ++ 11 utilicéboost::bind oboost::lambda mucho. losbind parte en la biblioteca estándar (std::bind) la otra parte se convirtió en parte del lenguaje central (C ++ lambdas) y facilitó mucho el uso de las lambdas. Hoy en día, casi no usostd::bind, ya que puedo hacer casi cualquier cosa con las lambdas de C ++. Hay un caso de uso válido parastd::bind que se me ocurre

struct foo
{
  template < typename A, typename B >
  void operator()(A a, B b)
  {
    cout << a << ' ' << b;
  }
};

auto f = bind(foo(), _1, _2);
f( "test", 1.2f ); // will print "test 1.2"

El equivalente de C ++ 14 para eso sería

auto f = []( auto a, auto b ){ cout << a << ' ' << b; }
f( "test", 1.2f ); // will print "test 1.2"

Mucho más corto y conciso. (En C ++ 11, esto todavía no funciona debido a los parámetros automáticos). ¿Hay algún otro caso de uso válido parastd::bind superando a la alternativa lambdas de C ++ o esstd::bind ¿Superfluo con C ++ 14?

Respuestas a la pregunta(6)

Su respuesta a la pregunta