0

QUdpSocketsを使用するアプリケーションをプログラミングしています。new演算子を使用してソケットを作成したためにメモリの問題が発生したため、ソケットを閉じた後に削除する必要があるかどうかを知りたいと思います。

以下のコード:

socket = new QUdpSocket(this);
socket->bind();
connect(socket, SIGNAL(readyRead()), this, SLOT(getResponse()));

socket->close();
delete socket; //Do I have to do this to free the mem?

ヘルプに感謝します。

4

3 に答える 3

1

ソケットが不要になったらすぐに、次のように呼び出すことができます。

socket->deleteLater();

はい、ソケットが不要になったら破棄することをお勧めします。

別の解決策は「this」を削除することです。そのため、ソケットも削除されます。

于 2012-04-18T13:45:57.303 に答える
1

ものthisによります。それが破壊されるときはいつでも、QUdpSocket意志も破壊されます。

于 2012-04-17T09:20:41.013 に答える
0

ソケットを使い終わったら、それを削除する必要があります。このようにして、あなたは安全な側にいます。また、痛くありません。ただし、すでに指摘したように、「これ」はソケットの破棄に必要です ( http://doc.qt.io/qt-4.8/qobject.html#QObjectを参照)。

于 2012-04-18T13:53:45.687 に答える