记得在.net框架下编程,如果要在函数中,修改一个全局变量的值,并保持这个变量的值,有一个办法是在定义函数的形参的时候,指定形参为引用类型。
c++的原理也差不多,不过可以用两种方式实现: 方式一,定义形参为指针类型的形参,比如 int fun(int *p); 在调用函数传递实参的时候,我们得传int类型的变量的指针过去,比如 int a=3,*pRealPra; pRealPra=&a; fun(pRealPra); 方式二,定义形参为引用类型的形参,比如 int fun(int &b); 调用方式 int a=3; fun(a); 如果看不明白,我们也可以写成这样 调用方式二 int a=3; int &b=a; fun(b); 小结 可以看到,传递引用要比传递指针的程序更有简单明了,最重要的是,传递引用的时候,形参不需要临时开辟内存单元,节约了空间。