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