Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
4 / 2 / 2
Регистрация: 22.11.2019
Сообщений: 86

Удаление динамического массива

07.03.2023, 22:04. Показов 536. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть вопрос по поводу правильного удаления динамического массива. Приведу кусочек кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
 
using namespace std;
 
int main(){
     int* p = new int[3]; // объявили динамический массив на 3 элемента
     for(int* pointer = p; pointer - p < 3; ++pointer){ // вывели три нуля 
          cout << *pointer << " "; 
     }
     delete[] p; // delete p 
     return 0;
}
Что использовать более корректно? Как я понимаю, первый вариант удаляет массив целиком, а второй только p[0]?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.03.2023, 22:04
Ответы с готовыми решениями:

Удаление динамического массива
Всем привет!!! Столкнулся со следующей проблемой. В литературе оговоренно, что для удаления всего массива из динамической памяти,...

Удаление динамического массива
Создаю динамический массив целых чисел. Хотелось бы после его создания научиться удалять его, то есть освобождать память. #include...

Удаление динамического массива
Доброго времени суток! Задача такова, что надо организовать бесконечный ввод в массив. Ввод прекращается после 0. Возникла проблема:...

7
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
07.03.2023, 22:08
Первый вариант удаляет массив целиком, второй - пытается удалить один int и вылетает в UB. Может чего-то удалит, может грохнется, может начнет восстание машин. C++ об успешном выстреле себе в ногу не уведомляет.
0
4 / 2 / 2
Регистрация: 22.11.2019
Сообщений: 86
07.03.2023, 22:16  [ТС]
То есть, если хочу полностью удалить массив пишу
C++
1
delete[] p;
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
07.03.2023, 22:18
То есть, если вы хотите удалить созданное new[], вы пишите delete[]. Совместимости между new[] и delete никто не обещал (хотя, в конкретной реализации они могут быть совместимы).
0
 Аватар для Евгений В
912 / 672 / 134
Регистрация: 01.03.2010
Сообщений: 1,279
08.03.2023, 00:07
Цитата Сообщение от Firefox6783 Посмотреть сообщение
То есть, если хочу полностью удалить массив пишу
Мне кажется, это не корректный вопрос.
Написав new вы собственноручно выделили какую то память. В данном случае для массива. Когда массив (память где он хранится) будет не нужен, вы должны об этом сказать компьютеру, написав delete.
Если этого не сделать, будут проблемы. Например утечка памяти.
Т.е. вы не удаляете массив. Вы перестаете пользоваться зарезервированной под это дело памятью. Позже, компьютер заполнит эту память чем то другим.
0
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
08.03.2023, 00:29
Цитата Сообщение от Firefox6783 Посмотреть сообщение
int* p = new int[3]; // объявили динамический массив на 3 элемента
Чисто подушнить момент - константа в размере массива делает его статическим
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
08.03.2023, 00:50
Цитата Сообщение от Laborant666 Посмотреть сообщение
Чисто подушнить момент - константа в размере массива делает его статическим
Не делает. Ни разу.

Добавлено через 48 секунд
Но и int* p тоже не массив.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
08.03.2023, 00:59
Цитата Сообщение от Laborant666 Посмотреть сообщение
константа в размере массива делает его статическим
Откуда вы это берете-то? Из "видосов" что ли каких?
Лучше вот изучайте: https://en.cppreference.com/w/... e_duration, чтобы если уж "душнить", то хотя бы корректно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.03.2023, 00:59
Помогаю со студенческими работами здесь

Удаление динамического массива
Привет. Сделал программу с 3 динамическими массивами, но дело в том, что 2 из них, размер которых задается с клавиатуры, удаляются в конце...

Удаление динамического массива
Здравствуйте! Имею следующий вопрос: создаётся массив таким образом: int elCount = 10; double* x = new double;

Удаление динамического массива
есть динамический массив: double** Mas2 = new double*; for(int i=0;i&lt;=kol2;i++) Mas2=new double; Как удалить данный массив...

Удаление динамического массива
Здравствуйте! Имеем код: #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;cstdlib&gt; using namespace...

Удаление динамического массива
Добрый день, уважаемые форумчане! Столкнулся со следующей проблемой, реализовал алгоритм перебора перестановок или размещений с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru