我们可以传递多少个最大参数给 boost::bind()
问问题
5105 次
2 回答
11
于 2011-02-10T10:23:27.087 回答
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”部分。
于 2013-07-03T21:29:13.280 回答