而永远不要去用它的值

时间:2022-04-22 04:01:19

问题描述 Delphi函数的out、var等关键字的感化,和使用场景  

Delphi函数的out、var等关键字的感化,和使用场景,我知道var是作为传值挪用,但是像out这个关键字又是什么感化呢?

 
解决方案

在过程或函数中,out主要用于COM和CORBA技术,Delphi解释:

An out parameter, like a variable parameter, is passed by reference. With an out parameter, however, the initial value of the referenced variable is discarded by the routine it is passed to. The out parameter is for output only; that is, it tells the function or procedure where to store output, but doesn‘t provide any input.

关键就是“它独一的用处就是让写过程的措施员提醒一下,这个参数没有什么初始值的,只能给它赋值,而永远不要去用它的值。”

1、不异:var与out修饰的参数,都是通过指针引导的变量参数;它们都可以外出输出值;
2、区别:var修饰的参数,可以带入值,并在过程或函数使用;Out修饰的参数,带入值无效。out通报给过程的实际参数不必进行初始化。 
在过程或函数中,out主要用于COM和CORBA技术,Delphi解释:

An out parameter, like a variable parameter, is passed by reference. With an out parameter, however, the initial value of the referenced variable is discarded by the routine it is passed to. The out parameter is for output only; that is, it tells the function or procedure where to store output, but doesn‘t provide any input.

关键就是“它独一的用处就是让写过程的措施员提醒一下,这个参数没有什么初始值的,只能给它赋值,,而永远不要去用它的值。”

1、不异:var与out修饰的参数,都是通过指针引导的变量参数;它们都可以外出输出值;
2、区别:var修饰的参数,可以带入值,并在过程或函数使用;Out修饰的参数,带入值无效。out通报给过程的实际参数不必进行初始化。

解决方案二:

out是向别传值,一个函数只有一个返回值,你可以用out把参数看成返回值使用。和var差别,var挪用前必需先初始化,而out不需要。

解决方案三:

out只向外面发送,Var可以回传,也可以传入。貌似就这个区别