3

私はBoost.Functionalを使用したことがなく、そのドキュメントを簡単に読んだだけです。標準の < Functional > ヘッダーの改善のようです

ライブラリの紹介として、 Boost.Functionalのメイン ページ( 「使用法」セクション) の例が選択されました。Boost.Bind (またはBoost.Lambda )を使用すると、同じことが簡単に実行できます。また、Boost.Bindは < Functional > ヘッダーの他のツールの優れた代替手段です。

Boost.Functionalまたは STL < functional > ヘッダーからBoost.Bindで実行できないものはありますか? またはBoost.Functionalの他の利点はありますか?

4

1 に答える 1

2

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?

于 2011-11-13T21:17:34.893 に答える