我刚刚使用videoInput库和OpenCV向我的应用程序添加了摄像头支持。如何管理通过信号插槽传递的对象的删除?
视频流位于QThread(生产者)中,并发出一个信号,为我的应用程序发送QImage *以更新需要它的图形项目。
它的内存管理方面是在插槽完成使用后删除用户插槽中的QImage *。现在的问题是我想要多个对象接受这个QImage *数据。
在这种情况下,我现在是否必须跟踪数据的所有消费者(带有引用计数),然后在完成所有消费者时删除QImage *(很可能在生产者线程中)?
我刚刚使用videoInput库和OpenCV向我的应用程序添加了摄像头支持。如何管理通过信号插槽传递的对象的删除?
视频流位于QThread(生产者)中,并发出一个信号,为我的应用程序发送QImage *以更新需要它的图形项目。
它的内存管理方面是在插槽完成使用后删除用户插槽中的QImage *。现在的问题是我想要多个对象接受这个QImage *数据。
在这种情况下,我现在是否必须跟踪数据的所有消费者(带有引用计数),然后在完成所有消费者时删除QImage *(很可能在生产者线程中)?
在这种情况下,你可以仅仅通过const引用传递的QImage,因为它是隐含共享。 – 2011-02-04 14:42:52