C++参数前加&是什么意思?

[复制链接]
查看11 | 回复4 | 2010-5-21 13:33:28 | 显示全部楼层 |阅读模式
RT~

回复

使用道具 举报

千问 | 2010-5-21 13:33:28 | 显示全部楼层
&是引用符运算符起作用就是可以返回当前被引用元素的值举个简单例子相信楼主很快就会明白:class A{ int i;public: A(int j):i(j){} void GetElem(int &e)//此处若没有&运行就不能显示e的值因为e的作用域只是当前函数&使他可以被返回 {e=i; }};int main(){ int e; A a(5); a.GetElem(e); cout<<e;}说通俗点就是用来让函数的参数被赋予实际的值,而不是在函数运行完后参数就没作用了,这个在学数据结构哪里用的很多谢谢~
回复

使用道具 举报

千问 | 2010-5-21 13:33:28 | 显示全部楼层
返回对那个类型的一个引用。以你的例子来说,就是返回对ostream类型的一个引用。目的是可以连续调用。比如在类A里重载了<<这个符号,返回类型为ostream&,那么就可以连续输出类A的两个对象:A a,b;cout<<a<<b;若去掉&符号,则只能这样写:cout<<a;cout<<b;要麻烦很多。
回复

使用道具 举报

千问 | 2010-5-21 13:33:28 | 显示全部楼层
&在变量前表示的是变量在内存中的地址,一般单独使用没有特定的意义,&和变量做为函数的参数一起使用,表示传递给该函数的是变量地址,而不是变量值。
回复

使用道具 举报

千问 | 2010-5-21 13:33:28 | 显示全部楼层
1.取参数的地址 2.表引用,以用来传递参数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行