QObject爲什麼禁用複製構造函數和賦值運算符?

QObject禁用複製構造函數和賦值運算符源於它的性質:

  1. 可能具有唯一的QObject :: objectName。
    Qt對象可以擁有自己的名稱,objectName屬性保存對象的名稱。
    那麼複製一個Qt對象,如何處理新的對象的名字?

  2. 在對象層次結構中具有位置。
    QObjects將自己組織在對象樹中。
    那麼複製一個Qt對象,新的對象應位於何處?

  3. 可以連接到其他Qt對象,以向它們發出信號或接收它們發出的信號。
    QObjects可以connect到其他對象。
    那麼複製一個Qt對象,應該如何將這些連接轉移到新的對象中?

  4. 可以在運行時添加未在C ++類中聲明的新屬性。
    那麼複製一個Qt對象,原始對象中添加的屬性是否應該複製到新對象?

由於這些原因,應將Qt對象視爲身份而不是值。因此,QObject的拷貝構造函數和賦值操作符是禁用的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章