Страницы

Поиск по вопросам

среда, 12 декабря 2018 г.

Статическая динамическая переменная. Работа с динамической переменной после освобождения памяти, занимаемой ею

Два вопроса:
Корректно ли создавать динамическую переменную со спецификатором static?
static int *i = new int; - верно? Можно ли работать с дин.переменной после её удаления:
int *i = new int; delete i; i = new int;


Ответ

Да, корректно, почему нет? Да, можно. Причём во многих библиотеках примерно так делается. Вы удаляете не переменную i, а освобождаете память, на которую указывает указатель i, и после этого его можно заставить указывать на новую область памяти.

Комментариев нет:

Отправить комментарий