我知道这个问题已经被提出并得到了回答,但是一年多以前,看起来还有新的选择.
所以我用SFML库编写了一个游戏(实际上我开始发现它很酷)我正在寻找一个轻快的事件/委托库.
在做了一些研究并抛弃了经典的(Boosts.Signals,libsigc ++)之后,我发现了" cpp-events ".它现在看起来不太受欢迎 - 因为它是一个非常新的库 - 但它似乎最难被测试.我很想知道这里是否有人试过它并且可以提供一些反馈.
你有其他类似(或更好)的选择吗?我看起来相当真实的项目(将被维护)而不是论坛上的答案.
谢谢 !
我的感觉是http://www.codeproject.com/KB/cpp/ImpossibleFastCppDelegate.aspx是一个很好的游戏实现。没有动态内存分配,性能合理,调试简单=>非常适合游戏。
我过去使用过类似的委托,这个实现看起来更有效。
您建议的提到了线程安全,但我对在线程之间使用基于委托的接口感到不舒服。这对于小项目来说可能效果很好,但如果团队规模扩大,发生灾难的可能性也会增加。我还会质疑这种功能对性能的影响。