Как я могу взять результат объекта-значения из вызова метода и поместить его в кучу?
Например:
Метод Qt QImage::scaledToWidth
возвращает копию объекта QImage
.
Сейчас я делаю:
QImage *new_img_on_heap = new QImage(old_imgage_on_heap->scaledToWidth(2000));
Это единственный способ? Похоже, что это происходит из-за проблемы создания 3-го целого нового объекта, когда у меня уже есть хороший товар в стеке.
Причина, по которой я хочу положить его в кучу, состоит в том, что реальный QImage
большой, и я хочу, чтобы он пережил время жизни текущего метода. Я собирался наложить указатель на него в поле моего класса.
Я знаю, что QImage
имеет своего рода неявный обмен данными, но я не совсем понимаю, как он работает под капотом. Кроме того, я хотел бы знать общее решение, если мне когда-либо понадобится использовать объекты, которые не так хорошо разработаны как Qt.