QGraphicsItem destructor documentationによれば、「アイテムを破壊する前にQGraphicsSceneからアイテムを削除する方が効率的です。」QGraphicsItemを破棄する前にシーンからQGraphicsItemを削除する方が効率的なのはなぜですか?
なぜですか?私はそれがどのように違いを生むか考えることはできません。私はソースをチェックし
if (scene() != NULL)
scene()->removeItem(this);
、そして時々私はQtのソースを理解大変な時間を持っているが、これは、場合ではないようです。そして、違いを作るなかった場合、QGraphicsItemのデストラクタだけで呼び出すべきではありません。 EDIT:jdiの答えのコメントを参照してください。
ありがとうございます。私はソースをもう一度チェックし、シーンが存在するかどうかを確認する行があり、そうであれば、 'd_ptr-> scene-> d_func() - > removeItemHelper(this);'を呼び出します。私はそれがそうでなければならないと思う。あなたが正しいと思われるので、その音符はちょっと誤解を招くかもしれません(どちらか、それとも私はdoofusです)。 – Anthony
@Anthony:私はちょうど誤解を招くように行くつもりです:-)。ドキュメントは参考になるように意図されていて、それがあなたにとって混乱している場合は、有効な観察となります。ソースを確認して確認するのがいい仕事です。 – jdi