我应该选择哪个轻C ++事件/委托(信号/槽)库?

时间:2010-03-03 01:09:55

标签: c++ signals-slots

我知道question has already been asked已经回答了,但这是一年多以前的事情,看起来有新的选择。

所以我用SFML library编写了一个游戏(实际上我开始发现它非常酷)我正在寻找一个轻快的事件/委托库。

在做了一些研究并抛弃了经典的研究(Boosts.Signalslibsigc++)后,我找到了“cpp-events”。它现在看起来不太受欢迎 - 因为它是一个非常新的库 - 但它似乎最难被测试。我很想知道这里是否有人尝试过并且可以提供一些反馈。

您是否有其他类似(或更好)的选择?我看起来相当真实的项目(将被维护)而不是论坛上的答案。

谢谢!

2 个答案:

答案 0 :(得分:3)

我的感觉是http://www.codeproject.com/KB/cpp/ImpossiblyFastCppDelegate.aspx是游戏的绝佳实现。没有动态内存分配,性能合理,调试简单=>非常适合游戏。

我过去使用过类似的代理,这种实现效率更高。

你建议的那个提到线程安全,但我不习惯在线程之间使用基于委托的接口。这可能适用于小型项目,但如果团队成长,灾难的可能性也会增加。我还要质疑这种功能对性能的影响。

答案 1 :(得分:3)

另请查看Boost.Signals2这是Boost.Signals的线程安全版本。我在一个中等规模的项目中使用它,我很满意。