【发布时间】:2011-06-01 23:48:54
【问题描述】:
在互联网上研究了一种在 C++ 中实现事件的有效方法后,我发现了以下方法
- 接口类 - 应用程序可以覆盖派生类中的虚函数
- 使用函数指针的普通回调机制
- 使用 Boost.function 的委托
- 信号和槽(在 Qt 中使用)
我对这些中的每一个的优点和缺点以及何时使用其中的任何一个感到困惑。 哪种方法最好,为什么? 有没有比上面列出的更好的解决方案?
【问题讨论】:
-
更具体地了解“事件”。
-
我正在尝试构建某种 SDK 库。该库可以向应用程序发送事件。我了解拥有抽象类方法或回调是一对一的事件机制。但是委托或信号可以启用一对多事件。使用代表或信号的任何其他建议?