0

这可能是一个棘手的问题,但我不确定;

我必须在之后调用删除:

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

删除我的意思是,当我不再需要它时删除它。

4

1 回答 1

3

QImage 对象的创建和销毁方式并不特殊。在堆栈上或使用 new/delete 或其他方式时,规则与所有 C++ 对象的规则相同。

QImage 是隐式共享的,因此复制它很便宜(就像共享指针一样),但它执行写时复制以保留值语义。

短篇小说,您可能永远不必新建/删除 QImage,只需将其作为值传递并不必担心。

在调用复制/加载方法后,您不必进行任何特殊删除,尽管您可能希望分配my_image=QImage()释放缓存数据或其他内容。

于 2012-01-23T13:24:42.037 回答