01-bind.cpp 513 Bytes
#include <iostream>
#include <functional>

void fun(int arg1, int arg2)
{
  std::cout << arg1 << " " << arg2 << std::endl;
}


struct t
{
void g(int arg1, int arg2)
{
  std::cout << arg1 << " " << arg2 << std::endl;
}
};

int main()
{
  auto f = std::bind(fun, 2 ,3);
  f();

  auto g = std::bind(fun, 2, std::placeholders::_1);
  g(7);
  g(77);

  auto h = std::bind(fun, std::placeholders::_2, std::placeholders::_1);
  h(15,16);

  t ti;
  auto o = std::bind(&t::g, &ti, std::placeholders::_1, 7);
  o(17);
}