我在这里读到QVector 类使用隐式数据共享来最大化资源使用并最小化复制。我不知道将带有 QVector 参数的信号发送到不同线程中的插槽是否会导致数据复制!这些问题也与这个问题有关:
但我无法从中得到意义。显然我的问题是:
我有一个信号:
void someSignal(QVector<int> values);
还有一个插槽:
void someSlot(QVector<int> values);
这些在不同的线程中,我将它们连接起来。所以连接类型是Qt::QueuedConnection。另外我应该声明 QVector 元素没有在插槽中修改。他们只是被阅读。
发出信号会导致 QVector 元素被复制吗?