函数定义中定义成var变量,与定义成out变量有何区别?(50分)

  • 主题发起人 主题发起人 richling
  • 开始时间 开始时间
R

richling

Unregistered / Unconfirmed
GUEST, unregistred user!
函数定义中定义成var变量,与定义成out变量有何区别?
如:
procedure Pro1(aaa:string;
out bbb:string);
procedure Pro1(aaa:string;
var bbb:string);
 
定义成Var:
你传过来的变量,函数中如果对参数操作,实际上是对你传过来的变量进行操作,因为他们
是指向同一地址;
不定义成Var:
你对参数操作,不会改变你传过来的变量
 
var
相当
&
操作
 
楼上两位答非所问啊。。。。。。
据我所知,var和out的作用基本上是一样的,都是传址调用,只是var参数可作为输入参数,
而out参数仅仅作为输出参数,以次区别开来,所以一般在com中用到(com中的方法返回值是HRESULT)。
 
to Adnil
Var 及 out 变量的区别就是你所说的。
 
var:传递引用参数 out:传递只写参数
out是为了与COM接口兼容而引入的。在使用引用传递参数上,var和out相似。
 
out <--> in????
 
Adnil兄,感谢你的回答,我还想问一个问题:
输入参数与输出参数有什么区别!
 
实际上所有的参数都是输入参数,所谓的输入参数,按我的理解,是因为返回值不够用而
发生的一个概念,一个函数返回值只能有一个,有时候需要函数返回两个或者两个以上的
值,那就只有把该值得地址传入函数体,作为一个参数,由函数进行改变。
 
谢谢各位。来者有份
 
我还有份吗?
 
out的值不能被利用,只用来输出的。
var的值不但能被函数体利用,而且还会改变原来的那个实参的值。
 
我说过,来者有份,谢谢各位啦!
 
多人接受答案了。
 

Similar threads

回复
0
查看
978
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部