Re[2]: new для выделения памяти под массив ( new char[ 10 ]
От: Андрей Тарасевич Беларусь  
Дата: 24.09.03 18:22
Оценка:
Здравствуйте, Вадим Никулин, Вы писали:

ZZT>>Вопрос :

ZZT>>1) Я выделяю память например так:
ZZT>>char* pChar = new char[10];
ZZT>>при вызове "delete pChar" удалится вся память ?
ZZT>>2) Каковы различия в вызовах "delete [] pChar" и "delete pChar" ?

ВН>1. Правильно в этом случае делать delete[].


ВН>2. Различия проявляются в случае, если объекты имеют нетривиальные деструкторы.


Совсем не обязательно только в этом случае. Механизмы 'new/delete' и 'new[]/delete[]' могут быть принципиально различными. Смешивание этих способов выделения/освобождения памяти потенциально ведет к неопределенному поведению независимо от характеристик деструктров объектов.
Best regards,
Андрей Тарасевич
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.