
概述在过去的两个晚上,我一直在抨击我,试图弄清楚这一点并没有取得积极成果.每当我想要
连接一个类的成员函数和另一个类的
信号时,有一些东西,在增强信号中,如果我想稍后断开连接,我必须将结果连接保存在一个变量中.如果以后,我想将相同的成员函数连接到其他类信号(成员函数仍然与前一个类信号连接)我必须保存这个新连接以便管理它.我的问题是,有什么方法可以避免这种情况吗? 你不应该保持连接实例,你应该能够通过将原来 在过去的两个晚上,我一直在抨击我,试图弄清楚这一点并没有取得积极成果.每当我想要连接一个类的成员函数和另一个类的信号时,有一些东西,在增强信号中,如果我想稍后断开连接,我必须将结果连接保存在一个变量中.如果以后,我想将相同的成员函数连接到其他类信号(成员函数仍然与前一个类信号连接)我必须保存这个新连接以便管理它.我的问题是,有什么方法可以避免这种情况吗?解决方法 你不应该保持连接实例,你应该能够通过将原来的callable传递给signal :: disconnect来断开信号,如 Boost.Signals tutorial所述.对于成员函数,问题是你无法通过的事实它们直接发出信号,你可以将它们包装在自定义函数对象中,然后可以将它们作为参数发送到:: disconnect或者你使用 Boost.Bind,它本身不会非常有用,因为你不能方便地声明它的返回类型.但是,使用Boost.Bind和 Boost.Function可以解决这个问题.
我希望我回答你的问题.
总结
以上是内存溢出为你收集整理的c – 提升信号连接管理全部内容,希望文章能够帮你解决c – 提升信号连接管理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)