我有一个基本的 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/