【发布时间】:2015-12-31 08:14:31
【问题描述】:
可调用的概念在http://en.cppreference.com/w/cpp/concept/Callable中定义。
假设我有一个可调用对象 f,它有一个类型为 T* 的参数并返回类型为 void。 f 可以是任何可调用类型(函数对象、指向成员函数的指针、指向数据成员的指针等)。如何调用 f?
仅仅调用 f(x) 会失败,因为 f 可以是指向成员函数或数据成员的指针。有没有简单的方法来调用f?一种可能的解决方案是 std::bind(f, x)(),但是当 f 有更多参数时,这个解决方案会变得更加复杂。
【问题讨论】:
-
你有用例吗?