Здравствуйте, Вадим Никулин, Вы писали:
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[]' могут быть принципиально различными. Смешивание этих способов выделения/освобождения памяти потенциально ведет к неопределенному поведению независимо от характеристик деструктров объектов.