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

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

COMMON /COORD/ А(3)

илидаже

COMMON /COORD/ CHAR STR(10)

Общие блоки в языке FORTRANпонимаются лишь с точки зрения общей машинной памяти, разделяемой подпрограммами. Конец примера 8.3.2.

В языке С++ имеется любопытный суррогат общих блоков, лишен­ный большинства из недостатков, присущих примитивной концепции языка FORTRAN. Если некоторый элемент класса определяется как static, то он разделяется всеми экземплярами данного класса.

Проблема передачи параметров заслуживает отдельного рассмотрения, а пока что мы займемся правилами разрешения конфликтов при объединении контекстов (правилами локализации, см. определение 7.3.2).

В различных языках введены разные правила локализации. В языках с так называемой блочной структурой (к которым относится, например, Pascal)употребление имен языковых объектов регламентируется правилами, впервые сформулированными вAlgol 60:

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

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

если имя, употребляемое в теле процедуры, не удается найти в соответ­ствии с правилами (а) и (Ь), то делается попытка найти его в следую­щем объемлющем контексте до тех пор, пока контекст поиска имени не оказывается локальным контекстом процедуры. (Для С это правило не действует, поскольку нельзя описывать функции внутри функций; в С++ конструкцию описания метода, с точки зрения локализации имен, можно рассматривать как задание уровня вложенности в описания класса.)

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама