@Sazoks

Как удалить массив объектов?

У меня есть массив из объектов.
Я кидаю его в функцию. Получается void foo(MyClass *&arr){//...}
Это функция создает новый массив и записывает туда данные из старого, но не все. До определенного момента.
Но теперь мне нужно из моего указателя удалить старый массив, и записать в него адрес нового!
Как это сделать? Помогите пожалуйста.
Я это пытался делать просто
delete[] arr;
arr = new_arr;
  • Вопрос задан
  • 494 просмотра
Решения вопроса 1
myjcom
@myjcom Куратор тега C++
Если у вас массив указателей на объекты.
Объекты можно удалить в цикле
delete arr[i]. Еще в функцию нужно передавать размер массива.

Но лучше использовать умные указатели и стандартные контейнеры.

Например https://en.cppreference.com/w/cpp/memory/unique_ptr
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы