Новые книги

Книга, которая покорила интернет-сообщество полнотой изложения, количеством материала, а также профессионализмом. После чтения данной книги вы станете профессионалом работы на компьютере на Windows 10! Вы узнаете все тонкости и секреты новой операционной системы, поймете, как обезопасить себя при работе в Интернете, узнаете, что такое пароль, который НЕ ВЗЛОМАТЬ, поймете, почему компьютеры одних пользователей работают намного быстрее других. В конце книги вас ждет приятный бонус.
Вниманию читателей представляется книга «Рассказы о математике с примерами на языках Python и C». В книге описаны различные истории или задачи, прямо или косвенно связанные с математикой (магические квадраты, простые числа и пр). Кратко рассмотрены более сложные моменты, например выполнение вычислений с помощью GPU.

Книга распространяется бесплатно, скачать оригинал в PDF можно на странице

.

http://www.dmitryelj.spb.ru/math.htm

http://www.dmitryelj.spb.ru/math.htm

Реализация зависимостей



5.5.6. Реализация зависимостей

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

Если зависимости отображаются на указатели (наиболее традиционный подход для бинарных зависимостей), для этих указателей предусматриваются дополнительные поля в структурах (записях), представляющих объекты взаимно-зависимых классов; если зависимость множественная (хотя бы в одну из сторон), то представляющий ее указатель ссылается не на класс, а на последовательность (в смысле STL) указателей объектов соответствующего класса. Поскольку все зависимости двусторонние, каждый объект из указанной последовательности тоже должен иметь указатель, определяющий рассматриваемую зависимость.

С помощью вспомогательных объектов обычно реализуются зависимости, которые трудно представить через указатели (например, зависимости между несколькими классами).

В качестве примера первого способа реализации зависимостей рассмотрим реализацию зависимости (типа "много к одному") между классами Item и Group:

	struct Item
	{
	struct ItemClass* class;
	struct Group* group;
	};
	struct Group
	{
	struct GroupClass* class;
	int item_count;
	struct Item** items;
	};

Назад | Содержание | Вперед