Вот что я делаю для создания std :: function: -
std::function<void(int,int,int)> f=
std::bind(&B::fb,this,
std::placeholders::_1,
std::placeholders::_2,
std::placeholders::_3
);
void B::fb(int x,int k,int j){} //example
Очевидно, что B::fb
получает три параметра.
Чтобы повысить удобочитаемость и удобство обслуживания, я хотел бы вместо этого назвать это: -
std::function<void(int,int,int)> f=std::bind(&B::fb,this); //omit _1 _2 _3
Вопрос
Есть ли в C ++ функции, позволяющие опускать заполнители?
Он должен автоматически вызывать _1, _2, ... в порядке следования.
Я погуглил "опустить заполнители c ++", но не нашел ни одной подсказки.
B::fb
может быть перегружен. - person KayEss   schedule 31.07.2016B::fb
перегружен. - person javaLover   schedule 31.07.2016B::fb
не перегружен, но спецификация языка этого не знает. Есть несколько ретроспективных работ, направленных на стандартизацию. Вероятно, вам нужно подождать, прежде чем вы сможете решить эту проблему. - person KayEss   schedule 31.07.2016auto...
в качестве параметра, который нужно перенаправить в нужную функцию? - person skypjack   schedule 31.07.2016