我有一个基本的 Window 类,我需要有诸如 MouseDown、MouseUp、WindowResize 等事件。我有两种可能的路由:信号处理程序(例如 Boost.Signal)或虚拟函数,其中类的用户创建一个派生自 Window 的类并覆盖 OnMouseUp、OnMouseDown 和 OnWindowResize 函数。每种方法的优点和缺点是什么,还是风格问题?
我写这篇文章是C++但我想这个概念更重要。
提前谢谢,嗯。
这是一项与各种方法(普通c,虚拟,boost::signal等)的性能相关的研究。研究
据此,boost.signal存在一些严重的问题。坦率地说,我没有使用太多那个库,尽管我认为这是一个非常有趣的问题,因为我在玩弄同样的想法。就目前而言,我会选择虚拟实施。
问候。 :)