当前位置:  开发笔记 > 编程语言 > 正文

比较std :: tr1 :: function <>对象

如何解决《比较std::tr1::function<>对象》经验,为你挑选了1个好方法。

我一直在尝试用C++实现类似C#的事件系统,其中tr1函数模板用于存储处理事件的函数.

我创建了一个向量,以便可以将多个侦听器附加到此事件,即:

vector< function >  listenerList;

我希望能够从列表中删除处理程序以阻止侦听器接收事件.

那么,如何在此列表中找到与给定侦听器对应的条目?我可以测试列表中的"函数"对象是否指向特定函数吗?

谢谢!

编辑:看过boost :: signal方法,看起来它可能是使用令牌系统实现的,正如你们所建议的那样.这是关于此的一些信息.观察者在附加到事件时保留"连接"对象,并且此连接对象用于在需要时断开连接.所以看起来你是使用Boost还是使用tr1自己动手,基本原理是一样的.即它会有点笨拙:)



1> Nick Bastin..:

我不知道你是否被锁定在std C++和tr1中,但如果你不是,那么如果你只是使用boost :: signal和boost :: bind来解决你的问题,你的问题似乎可以完全避免原始问题 - 创建一个事件系统 - 而不是试图自己推动.

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有