65得票6回答
使用Boost::Signals进行C++事件处理的完整示例

我知道boost.org有一篇关于这个的教程: Boost.org信号教程,但是这些例子并不完整,有些过度简化。那里的例子没有显示包含文件,代码的某些部分也有些模糊。 以下是我需要的: ClassA触发多个事件/信号 ClassB订阅这些事件(多个类可能订阅) 在我的项目中,我有一个低级别...

59得票5回答
Qt信号能返回一个值吗?

Boost.Signals 允许使用插槽的返回值来形成信号的返回值的各种策略。例如,将它们相加、将它们组合成一个 vector,或者返回最后一个。 通常的智慧(在 Qt 文档中表达)是,在 Qt 信号中不可能做到这样的事情。 然而,当我在以下类定义上运行 moc 时: class Obj...

12得票2回答
信号 vs 信号2

我有一个应用程序,可能会从使用Boost的信号库之一而不是自行开发的解决方案中受益。 该应用程序是多线程的,但执行信号处理的部分是单线程的。 如果多线程不是问题,是否有理由更喜欢Boost.Signals2而不是Boost.Signal?

11得票2回答
如何在 C++/CLI 中使用 boost::bind 绑定托管类的成员函数

我在一个本地的C++类中使用boost::signal,现在我正在用C++/CLI编写.NET包装器,以便可以将本地C++回调公开为.NET事件。当我尝试使用boost::bind来获取托管类成员函数的地址时,我得到编译器错误3374,表示除非我创建委托实例,否则无法获取成员函数的地址。有人知...

9得票2回答
Boost: Boost.Signals中到底哪些部分不是线程安全的?

我在多个地方看到说Boost.Signals不是线程安全的,但我没有找到更多关于它的细节。这个简单的引用并没有提供太多信息。现在大多数应用程序都有线程 - 即使它们试图成为单线程,它们的某些库可能会使用线程(例如libsdl)。 我猜实现对于其他线程不访问槽没有问题。因此,在这个意义上至少是...

9得票4回答
我能否使用Boost Signals2和Threads在C++中创建一个软件看门狗定时器线程?

我正在运行某个库中的函数Foo,这个函数与IT技术有关,在当前单线程应用程序中。大多数情况下,我调用Foo并且它非常快速,但有时候会调用Foo并且需要很长时间才能完成。我不是一个耐心的人,如果Foo将需要很长时间,我希望停止执行Foo,并且不使用那些参数调用它。 在我的环境中(POSIX/C...

7得票1回答
有没有一种方法可以直接连接一个增强信号到另一个信号?

我想知道是否有更好的方法将一个类的Boost信号直接连接到另一个类的信号? 例如,假设有一个外观类,其中有许多成员提供自己的信号。现在假设外观想要暴露这些信号。我通常会编写样板方法,然后将它们连接为信号处理程序。 using namespace boost::signal; class ...