Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > delete []


Автор: elterrible 24.5.2008, 19:56
Добрый день, есть еще один тупой вопрос. 

В учебниках по C++ пишут, что указатель на массив суть то же самое, что и указатель на первый элемент.
Это вопросов не вызывает, непонятно только как работает "delete [] pointer;". Если pointer всего лишь 
указатель на первый элемент, откуда берется информация о том, сколько элементов массива надо стереть ?

Автор: creatorcode 24.5.2008, 20:06
Цитата(elterrible @  24.5.2008,  19:56 Найти цитируемый пост)
откуда берется информация о том, сколько элементов массива надо стереть?

new[] помимо выделения памяти под массив, записывает перед ним некоторую служебную информацию(в том числе размер массива) которую впоследствии читает delete[]

Автор: Annihilator 24.5.2008, 20:08
http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.7 и 
http://www.parashift.com/c++-faq-lite/compiler-dependencies.html#faq-38.8

Автор: elterrible 24.5.2008, 20:46
Annihilator, many thanks!
Это как раз то, что хотел найти. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)