1-ый вопрос
жүктеу/скачать
12,34 Kb.
Дата
09.04.2023
өлшемі
12,34 Kb.
#174060
Байланысты:
1-ый вопрос
1-ый вопрос:
1)
После
использования оператора delete
,
освобождающего память
, обязательно должно производиться
обнуление указателя
, чтобы впоследствии не произвести повторного освобождения данного участка памяти.
Как известно
, такое освобождение приводит к непредсказуемому поведению программы.
Применение оператора delete к нулевому указателю не
имеет никаких последствий
, т.е. вы
вполне можете писать delete p
, не проверяя предварительно адрес p на NULL. За вас это делает RTL.
2)
В
Base нужно
, в Derived не нужно.
Делать ещё один delete в деструкторе ~Derived() не
нужно
, потому что при его вызове вызывается деструктор ~Base(), в котором есть delete (мы его заранее добавили)
жүктеу/скачать
12,34 Kb.
Достарыңызбен бөлісу:
©engime.org 2024
әкімшілігінің қараңыз
Басты бет