以前看一本书上,写着VB的两种参数传递方式:byval 和byref
byval叫做“传值”,想当于把值复制一份到新的变量中。
而byref叫做传址,相当于把原变量的地址传过去。
不过今天我发现,byref的传址,其实并非相当于C++中的指针传址,而是相当于C++中的引用。
也就是说,在C++中,传递参数,有三种方式:
void abc (int a){}
void abc (int* a){}
void abc (int& a){}
而在VB中,有两种:
sub abc(byval a as integer) '想当于 void abc (int a){}
sub abc(byref a as integer) '想当于 void abc (int & a){}
在VB6中,如果不写byval或byref,默认为byref,在VB.NET中,默认为byval
byval 和byref的区别,今天刚明白。
最新推荐文章于 2021-08-05 16:14:34 发布