你可以将它存储在指针中。 例如: void func(int a) { ... } void (*ptr)(int) = &func; (*ptr)(5); // call the function with value 5 ptr是一个指针,它的值是一个具有一个“int”参数和“void”返回类型的函数的内存。
您可以使用“观察者模式”(另请参阅UML):每个事件监听器都必须派生自一个抽象类(Observer),其中包含事件方法。您可以在这样的派生类中实现特定的事件监听器代码。一个Subject类包含所有事件监听器对象(一个抽象类Observer的向量),并在事件发生时通知它们。
std::function
轻松将函数传递到其他函数中,但从设计角度来看,您可能需要使用观察者模式。 - Ap31