Ада-95. Компилятор GNAT

       

Режим "out"


В этом режиме, при входе в подпрограмму, формальный параметр не инициализируется (!!!) значением фактического параметра.

Согласно стандарта Ada95, внутри подпрограммы, формальный параметр, использующий этот режим, может быть использован как в левой, так и в правой части инструкций присваивания (другими словами: формальный параметр доступен как для чтения, так и для записи). Согласно стандарта Ada83, внутри подпрограммы, такой формальный параметр может быть использован только в левой части инструкций присваивания (другими словами: доступен только для записи).

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

procedure Demo(X : out Integer; Y : in Integer) is

-- при входе в подпрограмму X не инициализирован!!!

begin

X := Y; end Demo;

Режим "out" разрешается использовать только в процедурах.



Содержание раздела