首页 > 解决方案 > C++ 动态链接库中的回调函数

问题描述

我有一个 C++ 中的动态链接库。我想要做的是在库中声明一个回调函数,并将其留给用户在使用该库的代码中定义。伪代码示例:

//in library
void userDefinedFunction();

void libraryFunction() {
    //do stuff
    userDefinedFunction();
    //do more stuff
}
//in user code
void userDefinedFunction() {
    //user-specific code
}

这在现代 C++ 中可能吗?

标签: c++functioncallback

解决方案


当然。您的库可以接受指向用户定义函数的函数指针或对用户给出的仿函数的引用。void libraryFunction() 只会使用它来调用用户函数。


推荐阅读