c++引用问题???

来源:百度知道 编辑:UC知道 时间:2024/05/18 05:50:22
struct student {
char name[10];
float grade;
};
student& max(student &x,student &y)
{
return (x.grade>y.grade?x:y);
}
这里面&max中&是什么意思??
如果把里面的&全部去掉也能编译,区别是什么??

max 是函数名
student& 是返回值的类型 就是 x,y的类型
///////////////
引用实际是传地址啊
就是引用的基本概念

引用就是对象的另一个名字,比如 int &a=b,那么a就是b的另一个名字了,a=2时,b也就是2,在函数中用引用传参也是同样的效果。在函数中用引用传参,没有赋值实参,这样可以提高效率。

关于返回引用,当函数返回引用类型时,没有复制返回值,返回的是对象本身。比如你这个就是返回的是x或者是y,而不是他们复制的版本
关于返回引用可以去看下 这个
http://zhidao.baidu.com/question/33693501.html

返回的是一个student 的引用对象

max是函数 student & 是返回类型