我正在编写一个使用QUdpSockets的应用程序。 由于我使用new 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?
将会感谢帮助。
答案 0 :(得分:1)
取决于this
是什么。每当它被破坏时,QUdpSocket
也会被破坏。
答案 1 :(得分:1)
一旦您不再需要插座,您可以致电:
socket->deleteLater();
是的,当你不再需要它时,最好摧毁它。
另一个解决方案是删除'this',因此套接字也将被删除。
答案 2 :(得分:0)
如果你完成了套接字,你应该删除它。这样你就安全了。它也没有伤害。但是,正如已经指出的那样,“这个”将用于销毁套接字(参见http://doc.qt.io/qt-4.8/qobject.html#QObject)。