void f(int i,const string& s){cout << i << s;}
auto g = bind(f,2,_1);
我收到一个错误,_1 未在此范围内声明
好:
using namespace std::placeholders;
auto g = std::bind(f, 2, _1);
更好:
auto h = std::bind(f, 2, std::placeholders::_1);
最好:
auto i = [](auto&& x) { f(2, x); };
如需额外奖励积分:
auto j = [](auto&& x) {
using type = std::decay_t<decltype(x)>;
f(2, std::forward<type>(x));
};