猿问

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

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

繁星coding
浏览 471回答 2
2回答

哔哔one

int fun(String& str)中的&表示引用运算符。fun函数表示的是通过引用来进行实参于形参的传递。引用就是某一变量(对象)的一个别名,对引用的操作与对变量直接操作完全一样。1、引用的声明方法类型标识符 &引用名=目标变量名;举例如下:12int&nbsp;a;&nbsp;int&nbsp;&ra=a;&nbsp;&nbsp;&nbsp;//定义引用ra,它是变量a的引用,即别名2、引用的应用1234567void&nbsp;swap(int&nbsp;&p1,&nbsp;int&nbsp;&p2)&nbsp;//此处函数的形参p1,&nbsp;p2都是引用{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p=p1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1=p2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2=p;&nbsp;}  为在程序中调用该函数,则相应的主调函数的调用点处,直接以变量作为实参进行调用即可,而不需要实参变量有任何的特殊要求。如:对应上面定义的swap函数,相应的主调函数可写为:1234567void&nbsp;main(&nbsp;){ int&nbsp;a,b; cin>>a>>b;&nbsp;//输入a,b两变量的值 swap(a,b);&nbsp;//直接以变量a和b作为实参调用swap函数 cout<<a<<&nbsp;'&nbsp;'&nbsp;<<b;&nbsp;//输出结果}

冉冉说

int fun(String& str),参数是传递的String类对象的引用,可以直接改变传递进来的对象,和传递指针有类似之处,但是标准C并不支持此种参数传递方式。int fun(String str),是最普通的参数传递方式,不可以直接改变传递进来的对象。
随时随地看视频慕课网APP
我要回答