The website "dmilvdv.narod.ru." is not registered with uCoz.
If you are absolutely sure your website must be here,
please contact our Support Team.
If you were searching for something on the Internet and ended up here, try again:

About uCoz web-service

Community

Legal information

1.4 Управление памятью

1.4 Управление памятью

Предыдущая  Содержание  Следующая V*D*V

Мы кое-что упустили из виду: как можно получить набор? Set является указателем, а не типом, определённом через typedef; таким образом, невозможно определить локальные или глобальные переменные типа Set. Вместо этого для ссылки на множества и элементы мы собираемся использовать только указатели, и декларируем источник и утилизатор всех элементов данных в new.h:

 

void * new (const void * type, ...);

void delete (void * item);

 

Подобно Set.h этот файл защищён символом препроцессора NEW_H. Текст ниже показывает только интересные части каждого нового файла, полный код всех примеров есть на дискете с исходниками.

new() принимает какой-нибудь дескриптор, похожий на Set и, возможно, дополнительные аргументы для инициализации, и возвращает указатель на новый элемент данных с представлением, соответствующим дескриптору. delete() принимает указатель, первоначально созданный new() и высвобождает связанные ресурсы.

new() и delete() по-видимому являются внешним интерфейсом к функциям ANSI-C calloc() и free(). Если они есть, дескриптор должен указывать, по крайней мере на то, сколько требуется памяти.

Предыдущая  Содержание  Следующая