以前是学c++的,初次接触delphi ,是查看网上资料总结的,不一定对,如有不对的可以指正。
添加var 是地址传递,会修改原有的变量,类似c/c++的引用和指针
function PlusByValue(x: integer): integer; //类似c/c++数值传参,是一份拷贝,x在函数内部改变,外部不会改变
begin
x:= x + 1;
result := x;
end;
function PlusByRef(var x: integer): integer; //x是数值参数,值传递,类似c/c++的引用和指针,x在函数内部改变,外部也改变
begin
x:= x + 1;
result := x;
end;
虽然这两个函数返回同样的结果,但第二个函数(PlusByRef)能改变传给它的变量的值。
例如:
var I,J,V,W: integer;
begin
I := 4;
V := 4;
J := PlusByValue(I); // I= 4; J= 5;
W := PlusByRef(V); //V = 5; W = 5;
end;
以前是学c++的,初次接触delphi ,有不对的可以指正。
参考自:
https://www.cnblogs.com/xiongyingfeixiang/archive/2012/01/13/2321493.html