与 Boost.Bind 相比,Boost.Functional 有什么好处?

发布于 2024-12-15 07:09:37 字数 875 浏览 4 评论 0原文

我从未使用过Boost.Functional,只是简单地使用过阅读它的文档。看起来这是对标准版的改进功能性> ;标头。

Boost.Functional 主页上的示例( 使用部分)被选为对该库的介绍。使用 Boost.Bind 可以更轻松地完成相同的操作(或 Boost.Lambda)。此外,Boost.Bind 是其他功能性工具的绝佳替代品。标头。

我很好奇,是否有任何来自 Boost.Functional 或 STL <function> 的内容?无法通过 Boost.Bind 完成的标头?或者Boost.Functional有什么其他好处吗?

I've never used Boost.Functional, only briefly read its documentation. Looks like it's an improvement to Standard <functional> header.

An example on the main page of Boost.Functional (Usage section) was chosen as an introduction to the library. The same can be done easier using Boost.Bind (or Boost.Lambda). Also, Boost.Bind is an excellent alternative to other tools from <functional> header.

I'm curious, is there anything from Boost.Functional or STL <functional> header that cannot be done by Boost.Bind? Or any other benefits of Boost.Functional?

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

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

发布评论

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

评论(1

几度春秋 2024-12-22 07:09:37

如果您查看 http://www.boost.org/doc /libs/1_47_0/libs/function/index.html,它说:

头文件tical.hpp提供了对函数对象的增强
C++ 标准库中指定的适配器(第 20.3.5 节,
至 20.3.8)。这些增强主要是由于
两个变化:

  • 我们使用Boost call_traits模板来避免引用到引用的问题,并提高参数传递的效率。
  • 我们使用两个函数对象特征类模板来避免对该库中的适配器使用 ptr_fun 的需要。

用法

使用这些适配器应该与使用
标准函数对象适配器;唯一的区别是你
需要写 boost:: 而不是 std:: ,这样你会得到更少
头痛。

没有人再使用“ptr_fun”(当你有 Boost.Bind 时),这样就只剩下处理“引用的引用”了
这能回答你的问题吗?

If you look at http://www.boost.org/doc/libs/1_47_0/libs/functional/index.html, it says:

The header functional.hpp provides enhancements to the function object
adapters specified in the C++ Standard Library (sections 20.3.5,
through to 20.3.8). The enhancements are principally possible due to
two changes:

  • We use the Boost call_traits templates to avoid the problem of references to references, and to improve the efficiency of parameter passing.
  • We use two function object traits class templates to avoid the need for ptr_fun with the adapters in this library.

Usage

Using these adapters should be pretty much the same as using the
standard function object adapters; the only differences are that you
need to write boost:: instead of std::, and that you will get fewer
headaches.

No one uses "ptr_fun" anymore (when you have Boost.Bind), so that just leaves dealing with "references to references"
Does that answer your question?

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