加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 提升信号连接管理

发布时间:2020-12-16 10:30:06 所属栏目:百科 来源:网络整理
导读:在过去的两个晚上,我一直在抨击我,试图弄清楚这一点并没有取得积极成果.每当我想要连接一个类的成员函数和另一个类的信号时,有一些东西,在增强信号中,如果我想稍后断开连接,我必须将结果连接保存在一个变量中.如果以后,我想将相同的成员函数连接到其他类信号
在过去的两个晚上,我一直在抨击我,试图弄清楚这一点并没有取得积极成果.每当我想要连接一个类的成员函数和另一个类的信号时,有一些东西,在增强信号中,如果我想稍后断开连接,我必须将结果连接保存在一个变量中.如果以后,我想将相同的成员函数连接到其他类信号(成员函数仍然与前一个类信号连接)我必须保存这个新连接以便管理它.我的问题是,有什么方法可以避免这种情况吗?

解决方法

你不应该保持连接实例,你应该能够通过将原来的callable传递给signal :: disconnect来断开信号,如 Boost.Signals tutorial所述.对于成员函数,问题是你无法通过的事实它们直接发出信号,你可以将它们包装在自定义函数对象中,然后可以将它们作为参数发送到:: disconnect或者你使用 Boost.Bind,它本身不会非常有用,因为你不能方便地声明它的返回类型.但是,使用Boost.Bind和 Boost.Function可以解决这个问题.

我希望我回答你的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读