Зависит от того, что делает getItemPtr()
.
Что говорит документация?
Если в сообщении указано, что вызывающий объект отвечает за уничтожение объекта, что часто имеет место, то вам необходимо удалить его до того, как указатель выйдет из области видимости (или до потери его значения).
Обычно, когда функция возвращает указатель и говорит, что вы ответственны за его удаление, существует противоположная функция (что-то вроде deletePointer(PointedType* pointer)
), роль которой состоит в удалении выделенной памяти. Поскольку, если не указано иное, вы не можете предполагать, что указанное значение было выделено с помощью new
, и, следовательно, не можете точно знать, должны ли вы вызывать delete
, delete[]
или free()
.
Вы можете также установить указатель на NULL
после его удаления, чтобы избежать повторного использования в будущем; это хорошая практика.