Re[5]: new для выделения памяти под массив ( new char[ 10 ]
От: Павел Кузнецов  
Дата: 25.09.03 08:15
Оценка:
Здравствуйте, Anton V. Kolotaev, Вы писали:

А>> например такое нормально?

А>>
А>> char* pc = new[16];
А>> long* pl = reinterpret_cast< long* >( pc );
А>> delete[] pl;
А>>


AVK> Вполне.


Не вполне: undefined behavior.

А>> а такое?

А>>
А>> ClassA* pA = new ClassA[16];
А>> ClassB* pB = reinterpret_cast< ClassB* >( pA );
А>> delete[] pB;
А>>


AVK> Память освободится, однако вызовутся деструкторы ClassB.


Одно из возможных проявлений неопределенного поведения, но далеко не единственное.
Posted via RSDN NNTP Server 1.7 "Bedlam"
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.