【发布时间】:2016-05-28 03:20:28
【问题描述】:
从cppreference,我发现:
类模板 std::function 是一个通用的多态函数包装器。 std::function 的实例可以存储、复制和调用任何 Callable 目标——函数、lambda 表达式、绑定表达式或其他函数对象,以及指向成员函数的指针和指向数据成员的指针 .
我不明白为什么 std::function 应该能够存储这样的指针,而且我以前从未听说过该功能。
真的有可能吗,我遗漏了什么或者是文档中的错误?
operator() 在这种情况下应该如何表现?
来自documentation:
使用参数 args 调用存储的可调用函数目标。
无论如何,这里没有存储的可调用函数目标可以调用。我错了吗?
说实话,我什至无法弄清楚这样一个函数的正确语法是什么,否则我会编写一个示例来测试它。
如何使用以下模板来定义指向数据成员的指针?
template< class R, class... Args >
class function<R(Args...)>
【问题讨论】:
-
对不起,我看错了。 :(
-
@Otomo 看第一条评论的例子,那不是因为你说的,对不起
-
@skypjack 是的,我已经想通了。很高兴知道。
-
@skypjack another example?
标签: c++ c++11 stl std-function data-members