不。 boost::bind 中的参数

发布于 2024-10-16 22:11:24 字数 35 浏览 3 评论 0原文

我们最多可以传递多少个参数给 boost::bind()

How many maximum arguments can we pass to boost::bind()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尐籹人 2024-10-23 22:11:24

即使您无法切换到 C++11,您也应该考虑从 boost::function 切换到 TR1 函数,这是 C++11 的预览

基本上,最初的 boost::function 成为了C++ 标准库,现在是用可变参数模板定义的。简而言之,这意味着不再有硬性限制(但如果您需要 _19 之外的内容,您可能需要定义额外的占位符变量)

要从 boost::function 切换到 std::tr1 ,请执行以下操作以下

查找所有出现的 #include#include
并将它们替换为:

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

这应该可以作为直接替换。如果你后来碰巧切换到 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:

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

This should work as a drop-in replacement. If you happen to switch to C++11 later, just throw
out the "tr1" part.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文