标签:
引用也可以作为一个函数的参数,如:我们定义交换两个数的函数swap,将函数的参数定义成引用的形式:
1 void swap(int &p1, int &p2) //此处函数的形参都是引用 2 { 3 int p; 4 p=p1; 5 p1=p2; 6 p2=p; 7 }
为了在程序中调用该函数,在相应的主调函数的调用点处直接以变量作为实参进行调用即可,而不需要对实参变量有任何的特殊要求。如上面定义的swap函数的主调函数可写为:
int main() { int a,b; cin >> a >> b; //输入a,b两变量的值 swap(a,b); //直接以变量a和b作为实参调用swap函数即可 cout << a << ‘ ‘ << b; return 0; }
当发生函数调用时,主调函数的调用点处的实参变量a和b分别传递给被调用函数的形参p1和p2,由于形参p1和p2定义成引用的形式,所以这时p1就是实参a的引用,p2就是实参b的引用。所以,在被调函数swap中,任何对形参p1和p2的操作实质就是对实参a和b的操作。
由此,有几点需要注意:
本人自学,教材可能有点老,有问题的话求大家指正!!!谢谢!!!
标签:
原文地址:http://www.cnblogs.com/MichaelBin/p/4544064.html