c++ delete

программирование с++

Столкнулся с вопросом на одном из тесте, не уверен что ответил правильно:
Если есть объявление типа int *i = new int[10];
1. То удалять мы должны delete[] i правильно?
Если объявить тип чар char *i = new char[10];
2. То удалять мы должны delete[] i правильно?
Когда используется просто delete?
3.я ответил что delete когда просто объект и привел пример из qt, а delete[] когда массив,
может кто нибудь привести пример с delete из чистого с++.
Ответы:
delete[] используется для освобождения памяти, на который указывает указатель на массив (вопрос 1, 2, т.е по простому delete[] - специализированный delete для динамических массивов). А просто delete, когда нужно высвободить память, которая когда-то выделялась под единственный объект (т.е к примеру int *i = new int).


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.