在c++中,有一个技术叫引用,即&T。
其实,&T的效果和**T是一样的,**T表示的是地址的地址。
看下面的函数,
void fun(int a);//函数的声明
fun(a);//函数的调用
无论是函数的声明还是函数的调用,都会传入参数。但是,两次传入的参数的值是不一样 的,二者不是一个物体。如上面的函数,a在传入实参时是改变了,所以不能传入a本身,但是可以传入a的地址,这样a的值怎么变化都不影响。因为变得是值,但地址不会变。
在递归过程中,一个变量的值会不断发生改变,如果仅仅传入变量本身,就可能会陷入死循环。只有传入变量的地址,才会不断捕捉到变化的值。