不。 boost::bind 中的参数
我们最多可以传递多少个参数给 boost::bind()
How many maximum arguments can we pass to boost::bind()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我们最多可以传递多少个参数给 boost::bind()
How many maximum arguments can we pass to boost::bind()
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
默认为 9。
http://www.boost。 org/doc/libs/1_45_0/libs/bind/bind.html#NumberOfArguments
by default it's 9.
http://www.boost.org/doc/libs/1_45_0/libs/bind/bind.html#NumberOfArguments
即使您无法切换到 C++11,您也应该考虑从 boost::function 切换到 TR1 函数,这是 C++11 的预览
基本上,最初的 boost::function 成为了C++ 标准库,现在是用可变参数模板定义的。简而言之,这意味着不再有硬性限制(但如果您需要
_19
之外的内容,您可能需要定义额外的占位符变量)要从 boost::function 切换到 std::tr1 ,请执行以下操作以下
查找所有出现的
#include
和#include
并将它们替换为:
这应该可以作为直接替换。如果你后来碰巧切换到 C++11,只需抛出
出“tr1”部分。
Even if you can't switch to C++11, you should consider switching from boost::function to the TR1 functions, which was a preview for C++11
Basically, what started out as boost::function became part of the C++ standard library, which nowadays is defined with variadic templates. In a nutshell this means that there is no hard limit anymore (but you might need to define additional placeholder variables if you need something beyond
_19
)To switch from boost::function to std::tr1 do the following
find all occurences of
#include <boost/function>
and#include <boost/bind>
and replace them by:
This should work as a drop-in replacement. If you happen to switch to C++11 later, just throw
out the "tr1" part.