Вызывается ли деструктор QJsonDocument после выхода из области видимости функции?
Предположим у меня есть функция :
QJsonDocument exampleFuncion()
{
QJsonDocument* tempDocument = new QJsonDocument();
// Расчёты по запуску ракеты в облака и запись их в JSON //
return anotherFunction(*tempDocument);
}
Вопрос в следующем: вызывается ли деструктор переменной tempDocument после выхода из области видимости, то есть после завершения работы функции?
Я бы не хотел допускать утечки памяти но я не могу вызвать delete tempDocument после return. Следует ли мне использовать умные указатели или это будет лишним? И вообще есть ли смысл использовать динамическое выделение памяти вместо статического?