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/

10-12 20:40