c++ - 信号处理程序与虚函数和继承(事件处理)

标签 c++ event-handling virtual signals-slots

我有一个基本的 Window 类,我需要有诸如 MouseDown、MouseUp、WindowResized 等事件。我有两条可能的路线:信号处理程序(例如 Boost.Signal)或类用户创建类的虚函数从 Window 派生并覆盖 OnMouseUp、OnMouseDown 和 OnWindowResized 函数。各自的优点和缺点是什么,还是风格问题?

我是用 C++ 写的,但我想这个概念更重要。

提前致谢,嗯。

最佳答案

这是一项与各种方法(纯 c、虚拟、boost::signal 等)的性能相关的研究。 Study

据此,boost.signal 存在一些严重的问题。坦率地说,虽然我认为这是一个非常有趣的问题,但我并没有使用太多那个库,因为我正在玩弄同样的想法。就目前而言,我会选择虚拟实现。

问候。 :)

关于c++ - 信号处理程序与虚函数和继承(事件处理),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10049455/

相关文章:

c++ - 从文件中搜索字符串的函数

javascript - 如何使用 Javascript/jQuery 将事件处理程序绑定(bind)到删除数组项?

c++ - 将基类函数标记为 virtual 和 final 有什么意义吗?

c++ - ABC 虚拟 OStream 插入运算符

c++ - 虚拟纯函数

C++模式策略初始化

c++ - 使用对象引用作为 std::unordered_map 中的键

python - 定期检查事件/触发器的更优雅的方式?

c# - 寻找领域事件的例子

python - 如何复制 PyObject*?