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

我必须在之后致电delete吗?


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


删除是指在不再需要它时将其删除。

最佳答案

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

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

简而言之,您可能不必新/删除QImage,只需将其作为一种价值传递出去,就不必担心了。

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

关于c++ - 复制/加载后是否删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8972272/

10-12 22:02