VB中,传值(ByVal)和传地址(ByRef)的选择问题

来源:百度知道 编辑:UC知道 时间:2024/09/24 09:26:52
在Function或者Sub子过程中,定义形参的时候,什么情况下要传值或者传地址,应该怎样选择?

我是新手,请详细解答,谢谢!

一般情况下,如果你传入的参数在执行完SUB或FUNCTION后还想回收,就用传址,如果不想要了,要用传值。需要注意的是传值在理论上要比传地址速度慢。

ByVal 可选的。表示该参数按值传递。
ByRef 可选的。表示该参数按地址传递

按值
一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。
按地址
一种将参数地址而不是将值传递给过程的方式,这就使过程访问到实际的变量。结果,过程可改变变量的真正值。除非另作说明,否则按地址传递参数。

ByVal(按值)
一种将参数值而不是将地址传递给过程的方式,这就使过程访问到变量的复本。结果,过程不可改变变量的真正值。
ByRef(按地址)
一种将参数地址而不是将值传递给过程的方式,这就使过程访问到实际的变量。结果,过程可改变变量的真正值。除非另作说明,否则按地址传递参数。

选择什么要看你自己希望过程完成什么任务了~~