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

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

Чаще всего типовая информация вычисляется до выполнения програм­мы, т. е. статически, и принципиальной новацией объектноориентирован­ного подхода явилось, в частности, широкое использование динамического определения типа объекта и, более того, динамического его переопределе­ния в некоторых пределах. В дальнейшем это было перенесено и на типы данных, используемые в работе с распределенными системами. В частности, в системах СОМ и CORBA, предназначенных для построения программ, ра­ботающих по схеме клиентсервер (программ, которые могут работать в качестве объектов внутри других, заранее неизвестных программ (клиент) или же, наоборот, использовать такие объекты, которые динамически под­ставляются в момент исполнения (сервер)) широко применяется тип данных variant, значение которого несет информацию о своем типе внутри себя.

Наряду с традиционными архитектурами вычислительных машин нашли свое применение такие архитектуры, в которых принцип однородности па­мяти не догматизируется (на уровне оборудования он давно потерял статус абсолюта, например, в связи с очевидными преимуществами использования быстрых регистров, но здесь речь идет об основной памяти). С этой точки зрения полезно рассмотреть архитектуру, в которой предлагается так назы­ваемое тегирование. Смысл его заключается в том, что в ячейках (основ­ной памяти) выделены специальные разряды, именуемые тегом, которые предназначены для того, чтобы указывать тип хранимого в остальной части значения (см. рис. 1.7).

Здесь второе поле структуры taggedявляется значением, тип которого может быть либо целым, либо действительным. Первое поле должно (по смыслу идентификатора) быть значением, которое однозначно идентифицирует, со­гласно некоторой системе договоренностей, тип второго поля. При этом приходится внешним образом (например, в фирменных либо технологиче­ских стандартах) определять множество соглашений, являющихся, по сути, затыканием очевидных недоделок языка. В данном случае (как и во многих других) в языках Pascalи Adaприняты более логичные решения. Например, в языке Pascalговорится о вариантной части структуры, причем должны яв­но определяться соответствующий тег и значения этого тега, приписанные каждому варианту:

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама