从cppreference,我发现:
类模板 std::function 是一个通用的多态函数包装器。std::function 的实例可以存储、复制和调用任何 Callable 目标——函数、lambda 表达式、绑定表达式或其他函数对象,以及指向成员函数的指针和指向数据成员的指针。
我不明白为什么 astd::function
应该能够存储这样的指针,而且我以前从未听说过该功能。
真的有可能吗,我错过了什么或者文档中有错误?
operator()
在这种情况下应该如何表现?
从文档中:
使用参数 args 调用存储的可调用函数目标。
无论如何,这里没有存储的可调用函数目标可以调用。我错了吗?
老实说,我什至无法弄清楚这样一个函数的正确语法是什么,否则我会写一个例子来测试它。
以下模板如何用于定义指向数据成员的指针?
template< class R, class... Args >
class function<R(Args...)>