3

重複の可能性:
タプルを「アンパック」して、一致する関数ポインターを呼び出す

関数とそのパラメーターをラップして、ゼロパラメーターのファンクターを作成するクロージャーオブジェクトを作成しています。

template<typename Function, typename... Args>
  struct closure
{
  closure(Function f, Args... args)
    : f(f),args(args...)
  {}

  void operator()()
  {
    // call f using the tuple's elements as arguments
    apply_from_tuple(f,args);
  }

  Function f;
  std::tuple<Args...> args;
};

関数を構築する最も簡潔な方法は何apply_from_tupleですか?

4

0 に答える 0