和第二第三个是一个意思
这里有一个概念叫引用变量,引用变量和(非引用变量)一般变量的区别是,举个例子吧
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代表一个对象
}
返回值时当然意义相同