Qt學習05——隱式共享

隱式共享又稱回寫複製(copy on write)。

當兩個對象共享同一份數據時,如果數據不改變,則進行淺拷貝。當某個對象改變數據時,則進行深拷貝。深拷貝和淺拷貝是程序在處理共享對象時的兩種複製方式。深拷貝是生成一個對象的完整複製品,而淺拷貝只進行引用複製,如複製指向共享數據的指針。由於深拷貝複製一個完整的對象,比淺拷貝佔用更多的內存和CPU。

隱式共享將深拷貝和淺拷貝有機結合,可以降低對CPU和內存的佔用,使函數中使用值傳遞更有效率,提高程序運行效率。

Qt中支持隱式共享的類包括:

QString、QByteArray、QBrush、QPen、QPalette、QBitmap、QImage、QPixmap、QCursor、QDir、QFont、QVariant等,以及所有的容器類。


致敬:陸文周《Qt5 開發及實例(第二版)》

發佈了49 篇原創文章 · 獲贊 41 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章