假设我们有:
pManager = new QNetworkAccessManager();
QObject::connect(pManager, SIGNAL(finished(QNetworkReply*)),this, SLOT(finishedSlot(QNetworkReply*)));
和
void finished(QNetworkReply* reply);
如果我们删除里面的回复,finished
我们会得到段错误。这是否意味着我们不会释放它?
来自http://doc.qt.io/qt-5/qnetworkreply.html:
注意:请勿删除与此信号相连的插槽中的对象。使用 deleteLater()。
从信号的QNetworkAccessManager
文档中finished
:
注意:不要删除连接到该信号的槽中的回复对象。使用 deleteLater()。
所以确实,你不应该删除它,而是调用deleteLater
.