以“&”打头的参数即为引用参数。
引用相当于给对象起了一个别名。当一个对象赋给一个引用后。无论对引用还是这个对象的访问都是对被引用的对象的地址空间的访问。
函数参数如果没有特别声明的话是传值引用的。也就是给函数传递过去实际参数的一份拷贝,当实际参数需要很大的空间时这样是不实际的做法。于是可以通过传递它的引用的方式解决。
但是传递引用的方式可以在函数中改变实际参数的值。为了不改变实际参数的值,一般传递引用的时候用const关键字限制是它的值在函数内只读。
引用参数和指针参数
这2种参数都能够改变实参的值,也可以有效的传递大型类对象,怎么样决定参数该声明成哪种呢?
根本区别是:引用必须被初始化为指向一个对象,一旦初始化了,它就不能再指向其他对象;指针可以指向一系列不同的对象也可以什么都不指向 。