gpt4 book ai didi

Qt:如何从内存中清理 QImage

转载 作者:行者123 更新时间:2023-12-01 15:19:02 28 4
gpt4 key购买 nike

如何清除或清理 QIMage

我的以下方法获取对 QIMage 的常量引用。

MyMethod(const QImage & img) {

// save it to a file
img.save("/path/to/save/the/qimage");

// now I want to clan up img from memory. How should I do it?
}

问题:
我应该如何在使用后从内存中清理 QImage 对象?

注意:
请注意,它是一个 const & QImage。那么,答案将涉及将 QImage 转换为非常量?另外,我正在尝试获取指向数据的 QImageData 指针并将其删除。不确定这是否是正确的方法。建议。

最佳答案

您需要一个非常量引用或指针。有了指针,答案就很明显了。通过引用,您只需为其分配一个默认构造的 QImage

MyMethod(QImage & img) {
img.save("/path/to/save/the/qimage");

img = QImage();
}

但是,如果有其他 QImage 实例引用同一图像,这可能仍然无法清除图像占用的内存。要克服这个障碍,您需要避免多个 QImage 实例引用同一图像。 Qimage 实例在这方面就像一个共享指针。

const-cast 将被视为揭示您案例中的设计缺陷。我建议不要这样做。

关于Qt:如何从内存中清理 QImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46275575/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com