Непейвода Н.Н. Программирование. Раздел 4

Непейвода Н.Н. Программирование. Страница 414

Представление записей в программе допускает следующие варианты:

стандартное, когда каждое поле получает собственный адрес. В этом случае время доступа к полю оказывается минимальным;

со свободной упаковкой, когда привязка полей к регистрам осуществля­ется с учетом побайтового их разбиения, что несколько замедляет до­ступ по сравнению со стандартным случаем, если вычислитель не допускает байтовой адресации;

с жесткой упаковкой, когда размер памяти, выделяемой под поле, строго соответствует необходимому для размещения самого большого значения числу разрядов;

ссылочное, когда некоторые компоненты записи задаются как другие записи уровня представления, состоящие из двух полей:

указатель на представление поля исходной записи,

представление поля исходной записи, которое размещается в об­ласти памяти, доступной через указатель.

В ссылочном представлении поле исходной записи заменено указателем на то место, где хранятся его значения. Это удобно в двух случаях:

когда для разных экземпляров записи значения поля, требующего мно­го памяти, могут повторяться;

когда память, нужная для значения поля, не имеет фиксированного размера.

В качестве примера первого рода можно рассмотреть записи в базе дан­ных, а в качестве примера второго рода — поля типа variant.

На абстрактном уровне рассмотрения, как и всегда, представления нераз­личимы. Поэтому, к примеру, в ссылочном представлении указатель на по­ле является невидимым и не участвует в оперировании. Задача реализации представления состоит в том, чтобы.обеспечить доступ к полям на абстракт­ном уровне.

И опять мы сталкиваемся с проблемой, обозначенной при сопоставлении концепции абстрактных типов данных с объектноориентированным про­граммированием. Корректно решить в языке указанную задачу, игнорируя требование существования функции абстракции (см. п. 9.1.5), не представ­ляется возможным.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама