今天遇到引用参数问题,查了下资料,现稍微总结如下,以后再添加。
在形参表中以符号“&”开始的参数即为引用参数。如果一个形参是引用参数,调用部位将把实参的地址传递给子程序。子程序可以改变传递给引用参数的任何实参,因为子程序操作的是真正的变量,而不是它的副本。
1、如果引用参数不希望在被调用的函数内部被修改,那么把参数声明为 const 型的引用是个不错的办法。
2、我们可以声明任意内置数据类型的引用参数
例如,如果程序员想修改指针本身,而不是指针引用的对象,那么他可以声明一个参数,该参数是一个指针的引用,例如:下面是交 换两个指针的函数
void ptrswap( int *&v1, int *&v2 ) { int *tmp = v2; v2 = v1; v1 = tmp; }
如下声明
int *&v1; //实际是为指针取了一个别名,这样就可以通过别名改变指针本身
应该从右向左读,v1 是一个引用,它引用一个指针,指针指向 int 型的对象。