C++14 では、任意の数の引数を完全に転送するラムダを記述できます。
template<typename... Args>
void process(Args&&... args); // template to forward to
auto wrapper = [](auto&&... args)
{
std::cout << "Invoking lambda wrapper\n";
process(std::forward<decltype(args)>(args)...); // do the forwarding
};
を使用して同じ効果を達成する方法はありbind
ますか? によって作成された関数オブジェクトbind
は任意の数の引数を取ることを知っています。また、そのようなオブジェクトはバインドされていない引数に対して完全転送を使用することを知っていますが、bind
渡されたすべての引数に対して完全転送を使用する関数オブジェクトを作成するように指示する方法はありますか?への呼び出しにプレースホルダーがなかったとしてもbind
?