int fun(String& str)中&是啥意思,什么作用?

int fun(String& str)中&是啥意思,什么作用? int fun(String str)和上述表达有什么区别, 我感觉调用的时候都是str.xxx(),为什么参数表达式不一样?

int fun(String& str)中的&表示引用运算符。fun函数表示的是通过引用来进行实参于形参的传递。


引用就是某一变量(对象)的一个别名,对引用的操作与对变量直接操作完全一样。

1、引用的声明方法

类型标识符 &引用名=目标变量名;

举例如下:

int a; 
int &ra=a;   //定义引用ra,它是变量a的引用,即别名


2、引用的应用

void swap(int &p1, int &p2) //此处函数的形参p1, p2都是引用

    int p; 
    p=p1; 
    p1=p2; 
    p2=p; 
}

  为在程序中调用该函数,则相应的主调函数的调用点处,直接以变量作为实参进行调用即可,而不需要实参变量有任何的特殊要求。如:对应上面定义的swap函数,相应的主调函数可写为:

void main( )
{
 int a,b;
 cin>>a>>b; //输入a,b两变量的值
 swap(a,b); //直接以变量a和b作为实参调用swap函数
 cout<<a<< ' ' <<b; //输出结果
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-26
int fun(String& str),参数是传递的String类对象的引用,可以直接改变传递进来的对象,和传递指针有类似之处,但是标准C并不支持此种参数传递方式。int fun(String str),是最普通的参数传递方式,不可以直接改变传递进来的对象。本回答被网友采纳
相似回答