我需要在 tbb::flow::graph (英特尔 TBB 库)中的节点之间发送一些“重”类型,即其中包含动态数组的结构。如果我尝试在一个节点中创建此类结构的实例并将其上的指针发送到另一个节点,则会出现访问冲突(这是预期的,因为我尝试使用来自另一个线程的数据)。
因此,传递此类参数的唯一方法是使用适当的复制构造函数按值传递它们,不是吗?但是那样我们会浪费很多时间来复制......
更新: πάντα ῥεῖ 建议使用 std::unique_ptr 通过节点传递此类类型。但恐怕我不明白如何实现它。例如,如何将 std::unique_ptr 与 source_node 一起使用?
更新 2:使用 std::unique_ptr<> 使 C2280 在 flow_graph.h 第 287 行中“尝试引用已删除的函数”。
所以问题仍然存在。