std::bind1st
и std::bind
являются избыточными в C ++ 11.Просто используйте другую лямбду:
auto lambda = [](int x, int y) { return x + y; };
auto sumFive = [&](int y) { return lambda(5, y); };
Это яснее и проще (не нужно знать, что делает std::bind
или для чего std::placeholders
), более гибко (может поддерживать любое выражение, а не толькопривязка параметров), не требует поддержки заголовков и, вероятно, будет компилироваться немного быстрее.