Cтраница 3
Каждый формальный параметр из заголовка шаблона должен появиться в списке параметров функции по крайней мере один раз. Имя параметра в списке формальных параметров шаблона может использоваться только один раз. Имена формальных параметров в различных шаблонах функций не обязаны быть уникальными. [31]
Это может быть и не шаблонная функция. Каждый шаблонный класс имеет свою копию статических данных-элементов, ( с) Верно, ( d) Неверно. Имена формальных параметров не обязательно должны быть уникальными среди шаблонов функций, е) Неверно. Ключевое слово class в этом контексте может также означать: любой встроенный тип, ( f) Верно. [32]
Каждый формальный параметр из описания шаблона функции должен появиться в списке параметров функции по крайней мере один раз. Имя формального параметра может использоваться в списке параметров заголовка шаблона только один раз. Одно и то же имя формального параметра шаблона функции может использоваться несколькими шаблонами. [33]
Имя SUB вносится в динамическую таблицу имен подпрограмм. В нашем примере X и Y - это имена формальных параметров, a U и V - имена локальных переменных. Имя подпрограммы, SUB, также служит локальной переменной, значение которой возвращается в качестве результата подпрограммы. Когда во время выполнения программы вызывается подпрограмма SUB, центральная таблица цепочек таким образом модифицируется, чтобы учесть нужную для выполнения SUB среду ссылок. Сначала следует сохранить существующие на данный момент в центральной таблице значения цепочек SUB, X, Y, U и V. Они сохраняются ( вместе с точкой возврата и другими системными данными) в виде активацион-ной записи в скрытом стеке. Затем в центральную таблицу заносятся новые значения для всех этих цепочек. [34]
Объявление процедуры или функции содержит список формальных параметров. Каждый параметр из списка формальных параметров является локальным по отношению к процедуре или функции, для которой он объявлен. Это означает, что глобальные переменные, имена которых совпадают с именами формальных параметров, становятся недоступными для использования в процедуре или функции. [35]
Объявление подпрограммы может содержать список параметров, которые называются формальными. Каждый параметр из списка формальных параметров является локальным по отношению к подпрограмме, для которой он объявлен. Это означает, что глобальные переменные, имена которых совпадают с именами формальных параметров, становятся недоступными для использования в подпрограмме. [36]
Позиционное сопоставление требует точного соответствия порядка следования имен и параметров в списках порядку их следования в декларации прототипа. Если какой-либо вход или параметр не используется или используется значение по умолчанию, соответствующая позиция в списке отмечается как пустая. То же касается описания входных цепей. При сопоставлении по имени порядок записи не имеет значения, важно лишь совпадение имени формального параметра с именем, указанным в декларации прототипа. [37]
Объекты из одного списка образуют группу EQUIVALENCE. Каждая группа содержит имена двух или более объектов одинаковых или разных типов. Индексные выражения в элементах массива и граничные выражения подстроки задаются константными выражениями. Количество индексных выражений в элементе массива должно совпадать с размерностью массива. В группе EQUIVALENCE не допускаются имена формальных параметров и функций. Все объекты, принадлежащие одной группе EQUIVALENCE, располагаются в памяти с одного и того же адреса. Эквивалентность двух элементов различных массивов может привести к совмещению и других элементов этих массивов. [38]
Параллельные операторы вызова first и second иллюстрируют альтерна-гивные способы записи списков соответствия. Первая форма записи списка ассоциаций соответствует позиционному сопоставлению фактических и формальных параметров подпрограмм, а вторая - сопоставлению по имени. Позиционное сопоставление требует точного совпадения порядка записи фактических параметров в списках соответствия и порядка записи формальных параметров в интерфейсном списке подпрограммы. Если какой-либо параметр не используется или используется значение входа по умолчанию, гоответствующая позиция в списке отмечается как пустая. При сопоставлении по имени порядок записи не имеет значения, важно лишь совпадение имени формального параметра с именем, указанным в декларации подпрограммы. [39]