Удалить или нет после копирования / загрузки - PullRequest
0 голосов
/ 23 января 2012

Это, наверное, вопрос с подвохом, но я не уверен;

Должен ли я звонить удалить после:

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

Под удалением я подразумеваю удаление, когда оно мне больше не нужно.

1 Ответ

3 голосов
/ 23 января 2012

QImage объекты не являются особенными в том, как они создаются и уничтожаются.В стеке или с new / delete или любым другим, правила те же, что и для всех объектов C ++.

QImage неявно совместно используется , поэтому копирование его дешево (как совместно используемый указатель)но он выполняет копирование при записи, чтобы сохранить семантику значений.

Короткая история, вам, вероятно, никогда не придется обновлять / удалять QImage, просто передайте его как значение и перестаньте беспокоиться.

У вас нет для какого-либо специального удаления после вызова методов копирования / загрузки, хотя вы можете назначить my_image=QImage() для освобождения кэшированных данных или чего-то еще.

...