Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
由于std::function可以保存成员函数,所以它必须在某处存储指向对象实例的指针。
std::function
如何从包含成员函数this的 a 中获取指针?std::function
this
一个类型的对象std::function拥有一个可调用对象。指向成员函数的指针是一种可调用对象;可以使用适当的类类型的参数以及它需要的任何其他参数来调用它。例如:
struct S { void f(int); }; std::function<void(S, int)> g(&S::f);
要调用它,请传递一个类型的对象S:
S
S s; g(s, 3);
请注意,该std::function对象不包含对象S;只有当你调用它时,函数指针才会绑定到一个对象。