我们可以将多少个最大参数传递给boost :: bind()
答案 0 :(得分:11)
答案 1 :(得分:3)
即使你不能切换到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”部分。