Rectangle &compare(Rectangle &r1,Rectangle &r2) { if( r1.Are
1个回答

和第二第三个是一个意思

这里有一个概念叫引用变量,引用变量和(非引用变量)一般变量的区别是,举个例子吧

int a ,b;

a=100;

b=a;//这句话其实是复制一个a至b;

如果是这样;

int a=100;

int &b=a; //这句话的意思是b就是a

无论我们作为返回值还是参数,意义都相同

例如:

void funca(int a)

{

}

void funcb(int &a)

{

}

int & funcc(int &a)

{

a=a+2;

return a;

}

void funcd()

{

int m=30;

funca(m);//这里复制一个m去作为参数

funcb(m);//这里直接用m去作为参数

int & n=funcc(m); //这里直接用m去作为参数,返回仍然是引用,(结合func内容)那么这个时候,m,n代表一个对象

}

返回值时当然意义相同