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

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

Именно передача параметра по ссылке в C/C++ реализуется с помощью механизма передачи по значению. В этом языке весьма развиты средства оперирования с указателями, а потому авторы языка предпочли "забыть о лишних" механизмах. В самом деле, заголовок функции

предписывает, что фактическим параметром может быть нечто, указываю­щее на целочисленное значение. В частности, выражение

при вычислении дает адрес переменной Variable. А это именно то, что нужно для передачи параметра по ссылке.

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

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

У параметризации по необходимости три цели:

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

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

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама