нет.аргументов в boost :: bind - PullRequest
       7

нет.аргументов в boost :: bind

5 голосов
/ 10 февраля 2011

Сколько максимальных аргументов мы можем передать для boost :: bind ()

Ответы [ 2 ]

11 голосов
/ 10 февраля 2011
3 голосов
/ 04 июля 2013

Даже если вы не можете переключиться на C ++ 11, вам следует подумать о переключении с boost :: function на функции TR1, что было предварительным просмотром для C ++ 11

По сути, то, что начиналось как boost :: function, стало частью стандартной библиотеки C ++, которая в настоящее время определяется с помощью шаблонов с переменным числом аргументов. В двух словах это означает, что жестких ограничений больше нет (но вам может потребоваться определить дополнительные переменные-заполнители, если вам нужно что-то за пределами _19)

Чтобы переключиться с boost :: function на std :: tr1, сделайте следующее

найти все случаи #include <boost/function> и #include <boost/bind> и заменить их на:

 #include <tr1/functional>
 using std::tr1::function;
 using std::tr1::bind;
 using std::tr1::placeholders::_1;
 using std::tr1::placeholders::_2;
...

Это должно работать в качестве замены. Если вам случится переключиться на C ++ 11 позже, просто бросьте часть "tr1".

...