3

ここで、QVector クラスが暗黙的なデータ共有を使用して、リソースの使用を最大化し、コピーを最小限に抑えることを読みました。別のスレッドのスロットに QVector パラメータを持つシグナルを発行すると、データのコピーが発生するかどうかはわかりません! これらの質問もこの問題に関連しています。

シグナル/スロットを介してワーカー スレッドからメイン スレッドに QVector を渡す

Qt シグナルで QVector 参照を発行するとコピーが発生する

しかし、私はそれらから要点を得ることができませんでした。明らかに私の質問は次のとおりです。

私は信号を持っています:

void someSignal(QVector<int> values);

そしてスロット:

void someSlot(QVector<int> values);

これらは異なるスレッドにあり、それらを接続します。したがって、接続タイプは Qt::QueuedConnection です。また、スロット内で QVector 要素が変更されていないことを明記する必要があります。それらはただ読まれるだけです。

シグナルを発すると QVector 要素がコピーされますか?

4

1 に答える 1