6
クロージャと組み合わせて使用すると、std :: functionのフードの下で何が起きているのか把握しようとしています。私はそれの周りに私の頭をラップすることはできません、例えば:どのコンストラクタが呼び出されている? 誰かが、次の例で必要な機能をサポートするstd :: functionの代わりに、最小限のドロップの実例を投稿できますか?ここでC++クロージャとstd :: function
#include <functional>
int main(int argc, char* argv[])
{
int mybool = 5;
auto foo = [&] (int arg) {
return mybool * arg;
};
std::function<int(int)> foo2 = foo;
int result = foo2(42);
return 0;
}
。それはテンプレートのみのコードなので、簡単に*自分で見ることができます。 –
興味深いことが分かっているなら、['std :: bind'](http://en.cppreference.com/w/cpp/utility/functional/bind)はあなたを積極的に駄目にします。 – WhozCraig
テンプレートに加えて、オープンソース(stdlibC++は通常GCCで使用され、libC++は通常clangで使用される)の大きなC++ライブラリがいくつかあるので、テンプレート化されていないコードも見ることができます。 –