苹果ios13.3 关于VB数组里面按值传递和按地址传递的区别?
关于VB数组里面按值传递和按地址传递的区别?
1私有子窗体uuLoad()2 Dim x As Integer 3 x=2 4 A x 5调试.打印X 6 End Sub 7 Sub A(byref t为整数)8 t=t-19 End Sub 10 Sub B(ByVal t为整数)11 t=t-112 End Sub 13 Sub C(t为整数)14 t=t-115 End Sub这是一个非常简单的玩具程序(呵呵,这是一个小玩具),但传递值和传递引用之间存在很大的差异。
第7、10和13行都是实现相同功能的进程,即参数t的值减去1。在窗体的Load事件中,我们定义一个变量x,然后调用第一个过程(a),注意第七行参数列表中的ByRef键表示引用。对于pass引用,参数T和X实际上是变量。就像一个人有一个大名,他也可能有一个昵称。对于变量x,它的大名是x,昵称是t,那么t-1实际上是x-1。打印出来的最终结果是X-1=1。再看第10行。对于进程B,其参数传递方法使用ByVal关键字(即值传递)。对于ByVal,参数T和X是两个完全不相关的变量。就像两个人一样(以a和B为例),一开始a有两个苹果,然后a告诉B你现在也有两个苹果,所以B高兴地拿了两个苹果来处理B。过程B的功能是将B的苹果数减少一个,所以最后的程序是打印a的苹果数,显然,苹果数是2。一点都没变。然后有朋友会问,这个时候,B的苹果数是1。答案是错误的。对于变量,它有一个生命周期(在编程中称为变量范围)。在上面的代码中,变量x的有效期从形式开始,加载事件被激活,直到结束sub(即事件结束)。变量t的有效期从过程的第一句话开始,到sub结束。一旦超过有效期,变量的值就不存在了。因此,如果要打印出B的苹果数,只能在打印过程中使用变量。在此过程之外对变量的任何操作都是没有意义的。
unity传递数组是值传递还是引用?
unity pass数组是值传递值传递:(形式参数类型是基本数据类型):调用方法时,实际参数将其值传递给相应的形式参数。formal参数只使用实际参数的值初始化它自己的存储单元。它是两个不同的存储单元,因此在方法执行过程中形式参数值的变化不会影响实际参数的值。引用传递:(形式参数类型是引用数据类型参数):也称为地址传递。调用方法时,实际参数是对象(或数组)。此时,实际参数和形式参数指向同一地址。在方法执行中,对形式参数的操作实际上就是对实际参数的操作。此结果将在方法结束后保留。方法执行中形式参数的变化会影响实际参数。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。