W odniesieniu do http://docwiki.embarcadero.com/RADStudio/XE4/en/Parameters_(Delphi)#Out_Parameters.
Czy są w ogóle jakieś różnice między out
a var
przy podawaniu parametrów?
function X(out b: Integer): Integer;
begin
result := b;
b := 11;
end;
var
a, i: Integer;
begin
a := 3;
i := -1;
i := X(a);
Writeln('a = ', a);
Writeln('i = ', i);
Readln;
end.
Powyższy kod daje mi kolejno takie wyniki:
-
a = 11
-
i = 3
b
na wejściu ma 3 we funkcji, spodziewałem się 0. Takie same rezultaty otrzymuję zvar
.
With an out parameter, however, the initial value of the referenced variable is discarded
by the routine it is passed to. The out parameter (...) doesn't provide any input.
To ja źle to pojmuję, czy out
nie działa tak, jak opisują.
*Kompilacja w Embarcadero® Delphi® XE4 (Version 18.0.4905.60485) Architect (Trial).*