如何使用std :: function <void(void)>来调用方法</void(void)>

时间:2014-12-05 17:34:09

标签: c++

我正在尝试使用

的方法
  std::function<void()> 

作为输入。不幸的是我之前从未使用过这种数据类型,而且我在理解它时遇到了问题。我需要做的就是在调用它时执行一个方法,例如:

   std::function<void()> doThing = object.isMethod();

虽然这种语法显然不正确。有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:24)

你可以bind方法的对象

std::function<void()> doThing = std::bind(&type::isMethod, &object);

或使用lambda

std::function<void()> doThing = [&]{object.isMethod();};