2012-01-23 41 views
0

這可能是個狡猾的問題,但我不確定;複製/加載後刪除或不加載

我必須打電話給刪除後:

  • QImage::copy()
  • QImage::load(QString)
  • QPixmap::fromImage(QImage)

通過刪除我的意思是,刪除它時,我並不需要它了。

回答

3

QImage對象的創建和銷燬方式並不特別。在堆棧中,或者使用new/delete或其他方法,規則與所有C++對象相同。

QImage是implicitly shared,所以複製它很便宜(像一個共享指針),但它執行寫時複製以保留值語義。短小的故事,你可能永遠都不需要新建/刪除一個QImage,只需將它作爲一個值傳遞並不用擔心。

你不調用拷貝/ load方法後做任何特別的刪除,雖然你可能要分配my_image=QImage()釋放緩存數據什麼的。