इस परीक्षण मामले पर विचार करें:क्यूओब्जेक्ट विनाश के बाद बुलाए गए सिग्नल को क्यों नष्ट कर दिया गया है?
MyObject constructor
MyObject destructor
About to be destroyed!
यह व्यवहार क्यूटी प्रलेखन के विपरीत है: "यह संकेत तुरंत उत्सर्जित होता है से पहले वस्तु obj नष्ट हो जाता है, और यह कर सकते हैं
class MyObject : public QObject
{
Q_OBJECT
public:
MyObject() { qDebug() << "MyObject constructor"; }
virtual ~MyObject() { qDebug() << "MyObject destructor"; }
};
class Tracker : public QObject
{
Q_OBJECT
public:
Tracker() {}
public slots:
void onDestructor() { qDebug() << "About to be destroyed!"; }
};
int main(int argc, char** argv)
{
QCoreApplication app(argc, argv);
Tracker tracker;
MyObject *obj = new MyObject();
QObject::connect(obj, SIGNAL(destroyed()), &tracker, SLOT(onDestructor()));
delete obj;
return app.exec();
}
यह इस प्रिंट अवरुद्ध नहीं किया जाएगा। " ऐसा क्यों होता है?