绑定第一和绑定第二

发布于 2024-11-09 07:17:27 字数 276 浏览 0 评论 0原文

我对以下参考文献有一个看法:

bind1st

bind2nd

我不明白的是两者之间的区别。 任何人都可以帮助我了解其中的区别。举个例子会更有帮助。

i had a view at the below references:

bind1st

bind2nd

what i did not understand is the difference between the two.
Can anyone help me to get to know the difference.an example would be more helpful.

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

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

发布评论

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

评论(4

绝情姑娘 2024-11-16 07:17:27

bind1st 绑定第一个参数(例如,您有 foo(int a, int b),然后 bind1st(foo, 1)(bar) 将相当于 foo(1, bar)),bind2nd 是第二个。不过,不要使用它们,它们几乎没有用——使用通用的 boost ::bind (或 C++0x 中的 std::bind)。

bind1st binds the first argument (e.g. you have foo(int a, int b), then bind1st(foo, 1)(bar) will be equivalent to foo(1, bar)), bind2nd the second one. Don't use them, though, they're nigh useless — use generalised boost::bind instead (or std::bind in C++0x).

花伊自在美 2024-11-16 07:17:27

假设您有一个函数对象 f(x,y) 和一个需要仅包含一个变量的 functoid 的算法。那么有两种可能性:

  • y 设置一些固定值,让算法在 x 上工作
  • x 设置一些固定值,让算法工作on y

这就是区别。

Assume you have a function object f(x,y) and an algorithm that needs a functoid with just one variable. Then there's two possibilities:

  • Set some fixed value for y and let the algorithm work on x
  • Set some fixed value for x and let the algorithm work on y

That's the difference.

ぃ双果 2024-11-16 07:17:27

这是显而易见的。 bind1st 将值绑定到函子的第一个操作数(假设您知道 C++ 中的函子是什么),bind2nd 绑定到第二个操作数。但对于 + (或 std::plus)这样的交换运算符来说,它实际上没有什么区别(如果你没有用非重载 + )该示例中的交换行为)。

That's obvious. The bind1st binds a value to the first operand of a functor (assuming you know what a functor in C++ is), bind2nd to the second. But for commutative operators as + (or std::plus) it actually makes no difference (if you didn't overload + with non-commutative behaviour in that example).

我最亲爱的 2024-11-16 07:17:27

bind1st 绑定函数的第一个参数,bind2nd 绑定第二个参数。如果执行像 plus() 函子这样的操作,则不会有任何区别,因为在两种情况下两个数字的加法保持相同,但如果您执行像 minus() 这样的操作,那么它会根据您使用 bind1st 或 bind2nd 而有所不同,示例 5- 4和4-5会产生不同的结果,现在你得到了bind1st第一个参数绑定和bind2nd第二个参数绑定之间的区别。

bind1st binds the first parameter of a function while bind2nd binds the second parameter. if do operation like plus() functor it will make no difference as addition of two numbers remains same in both the cases, but if u do operation like minus(), then it make difference depending upon u use bind1st or bind2nd, example 5-4 and 4-5 will generate different results, now u got the difference between bind1st first parameter binding and bind2nd second parameter binding.

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