对于函数传参有三种方式,分别是值传递,地址传递,引用。
值传递:
通过函数的值传递,两值交换的代码如下:
这段代码不改变实参的值,也就是形参不修饰(修改)实参。
地址传递:
地址传递传递的是地址,在构造函数时要解引用,代码如下:
结果是a=5,b=10。可以看到形参是可以改变实参的值的,也就是形参可以修饰实参的值。
引用:
函数的形参是别名的形式,代码如下:
结果是a=5,b=10。
int &a就相当于变量a的别名,int &b就相当于变量b的别名(起别名可以与变量名相同)。在函数中直接传递的是别名,所以可以在函数中直接修改。在函数传参中应用引用,形参是可以修改实参的,即形参可以修饰实参。