powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ответить на простой тест
7 сообщений из 7, страница 1 из 1
ответить на простой тест
    #39616449
polin11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите ответить на вопрос, не могу понять суть вопроса (правильно ли понимаю, что будет если выделить память в куче и затем не удалить delete, по мне ответ 1).

Вопрос
Код: plaintext
1.
using delete on a pointer returned by new[] or delete[] on a pointer returned by new
используя delete по указателю, возвращенному new [] или delete [] указателем, возвращаемым new


Ответы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
1) is undefined behavior
неопределенное поведение
2) will always fail at runtime
всегда будет работать во время выполнения
3) will always work but is inefficient
всегда будет работать, но неэффективно
4) will be flagged as compile-time error
будет помечен как ошибка времени компиляции
5) can only be done with classes which default destruction
может выполняться только с классами, которые по умолчанию уничтожают
...
Рейтинг: 0 / 0
ответить на простой тест
    #39616503
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin11не могу понять суть вопроса
Оператор new создает объект (единичный экземпляр класса), delete удаляет объект.
Оператор new[] создает массив объектов, delete[] удаляет массив

Суть вопроса: что будет если массив объектов удалить оператором для удаления объекта и наоборот?
...
Рейтинг: 0 / 0
ответить на простой тест
    #39616508
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskyчто будет если массив объектов удалить оператором для удаления объекта и наоборот?

Ну, "наоборот"-то это не вопрос, поскольку любой одиночный объект неотличим от массива из
одного элемента.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ответить на простой тест
    #39616525
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНу, "наоборот"-то это не вопрос, поскольку любой одиночный объект неотличим от массива из
одного элемента.
Отнюдь ))
Массивы например могут выделяться в отдельной куче с другим форматом структур хранения памяти.
И тогда ничего хорошего ...

Ну и в исходном вопросе есть про оба варианта.
...
Рейтинг: 0 / 0
ответить на простой тест
    #39616526
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и отвечая на сам вопрос - в обоих случаях UB
...
Рейтинг: 0 / 0
ответить на простой тест
    #39616546
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
polin112) will always fail at runtime
всегда будет работать во время выполнения

Гугл переводит неправильно (на русский):
"всегда будет работать во время выполнения"...
Позор.

А на украинский переводит правильно:
"завжди буде невдач під час виконання"
Хотя и коряво...
...
Рейтинг: 0 / 0
ответить на простой тест
    #39618787
Dimitry SibiryakovAnatoly Moskovskyчто будет если массив объектов удалить оператором для удаления объекта и наоборот?

Ну, "наоборот"-то это не вопрос, поскольку любой одиночный объект неотличим от массива из
одного элемента.
Одиночный объект можно рассматривать как принадлежащий массиву из одного элемента для целей адресной арифметики http://eel.is/c draft/expr.add#footnote-86

В остальном отличим
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / ответить на простой тест
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]