我很惊讶之前没有在 SO 上问过这个问题(好吧,至少我找不到它)。
您是否曾在 C++ 中设计过方法回调模式(类似于指向类方法的“指针”),如果是,您是如何设计的?
我知道方法只是一个常规函数,带有一些隐藏的 this
参数作为 context 并且我有一个非常简单的设计。然而,由于事情通常比看起来更复杂,我想知道我们的 C++ 大师 将如何实现这一点,最好是以优雅和标准的方式。
欢迎所有建议!
最佳答案
boost::function对于单个回调,boost::signal或 boost::signals2当可以注册多个回调时,使用 boost::bind绑定(bind)成员方法(或以不同方式调整签名)。
如果您可以使用支持 C++0x/C++11 的编译器,它可能具有 std::function 和 std::bind,它们是 boost::function 和 boost::bind 的新标准版本
关于c++ - 应该使用什么优雅的方法回调设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2766653/