Qt 类 QImage
有两个版本的 bits()
函数,它返回一个指向底层图像数据的指针。一个是const,另一个不是。这是非常量版本的 the documentation :
返回类型是 uchar*
。
这是否意味着当我完成这个指针时,我有责任在这个指针上调用 delete
以避免内存泄漏?
最佳答案
不,它只是意味着非常量版本导致 QImage 与共享相同数据的任何其他实例分离,因为您可能要修改它。它仍然保持所有权。可以肯定的是,实现(来自Qt 4.7.2):
uchar *QImage::bits()
{
if (!d)
return 0;
detach();
// In case detach ran out of memory...
if (!d)
return 0;
return d->data;
}
关于c++ - 我负责在 QImage::bits() 函数提供的指针上调用 delete 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14878817/