我必須將我自己的類型添加到Qt MetaObject系統(register metatype)。由於人工,下列要求必須得到滿足:Qt MOC:使用默認和複製構造函數時?
- 默認構造函數
- 拷貝構造函數
- 析構函數
我的類不具有默認構造函數感;它將被創建只是爲了滿足QT MOS。然而:Qt如何,何時以及爲什麼要調用默認的ctor?如果我的類存儲指向動態創建的元素的指針,會發生什麼情況:MOS會創建這樣的類的副本,然後它會刪除它並釋放所有指針?
我必須將我自己的類型添加到Qt MetaObject系統(register metatype)。由於人工,下列要求必須得到滿足:Qt MOC:使用默認和複製構造函數時?
我的類不具有默認構造函數感;它將被創建只是爲了滿足QT MOS。然而:Qt如何,何時以及爲什麼要調用默認的ctor?如果我的類存儲指向動態創建的元素的指針,會發生什麼情況:MOS會創建這樣的類的副本,然後它會刪除它並釋放所有指針?
將MOS創建這樣的類的副本,然後,它會刪除它並釋放所有指針?
是的,當宣佈事件時,它們首先被複制。這樣做是爲了簡化事件從一個線程到另一個線程的發送。
如果我的類存儲指向動態創建元素的指針,會發生什麼情況:MOS會創建這樣的類的副本,然後它會刪除它並釋放所有指針?
這就是自定義拷貝構造函數的用途。這是你的任務,以確保一切都被複制好,沒有內存泄漏(或其他問題)是可能的。
最後,我發現它在哪裏談話。它在this link:
可選的類型參數描述了建立連接的類型。具體來說,它決定了一個特定的信號是立即傳送到插槽還是排隊等待稍後傳送。 如果信號排隊,參數必須是Qt元對象系統已知的類型,因爲Qt需要複製參數以將它們存儲在幕後的事件中。如果您嘗試使用排隊連接並收到錯誤消息