用代码说话:
template<class T, void(T::*F)() >
class callback {
public:
callback(T &t):object(t){};
void execute(){(object.*F)();};
private:
T &object;
};class A {
public:
void func();
};int main() {
A a;
callback <A, &A::func> c(a);
c.execute();
}
博客展示了一段C++代码,通过模板类实现回调功能。定义了一个模板类callback,可接收类类型和成员函数指针,在execute方法中调用该成员函数。还定义了类A及成员函数func,在main函数中创建实例并执行回调。
template<class T, void(T::*F)() >
class callback {
public:
callback(T &t):object(t){};
void execute(){(object.*F)();};
private:
T &object;
};class A {
public:
void func();
};int main() {
A a;
callback <A, &A::func> c(a);
c.execute();
}

被折叠的 条评论
为什么被折叠?