有效地在C++类之间传输数据

Dav*_*vid 4 c++ oop object

需要帮忙...

我有3个班,经理可以拿2个指针.一到A,另一级到B级.A不知道B,反之亦然.

A进行一些计算,最后将3个浮点数放入剪贴板.接下来,B从剪贴板中拉出3个浮点数,并进行自己的计算.此循环由Manager管理并重复多次(迭代后迭代).

我的问题:现在A类产生一个B类需要的浮点数向量.这个向量可以有超过1000个值,我不想使用剪贴板将它转移到B,因为它将成为时间消费者,甚至瓶颈,因为这种行为一步一步地重复.

简单的解决方案是B将知道A(设置指向A的指针).另一种是通过Manager将指针传递给向量 但是我正在寻找不同的,更加面向对象的东西,它不会破坏AB之间存在的分离

有任何想法吗 ?

非常感谢

大卫

Jor*_*ans 9

听起来你正在编写一个生产者/消费者对,他们可以通过浮点数(可能是线程安全的)队列更容易地进行通信.

换句话说:"队列"就像您当前使用的矢量.A和B都将引用此队列.运行计算,并将浮点数写入队列(可能一次三个,如果这是你需要的).B检查队列,或者可能由A"发信号通知"队列已准备好,并从队列中抓取浮点数来处理它们.

有关"生产者消费者" 和/或"队列"的更多信息,google(或搜索Stack Overflow),您可能会发现很多有用的信息.

(例如,C++中的多线程工作队列)