关于&都有哪些用法?

DJM12345678 2007-02-08 09:46:57
为什么有的加&有的没有呢?比如:
bool operator == (const STATUS& sa, const STATUS& sb)//这个operator前没有&
{
...
}

A & operate =(const A & other);//这个在operate前就有

请问在operate前的这个&是什么意思?
...全文
656 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nirvana7 2007-02-09
  • 打赏
  • 举报
回复
操作符重载加应用是为了连续操作吧

(a=b).reset();

如果是返回引用的话,应该可以改变a的内部状态的

如果返回的不是应用,可能不可以改变吧

学习中
飞哥 2007-02-08
  • 打赏
  • 举报
回复
引用
取地址
& 按位与
&& and
我啃 2007-02-08
  • 打赏
  • 举报
回复
www.infoxa.com自己去载
DJM12345678 2007-02-08
  • 打赏
  • 举报
回复
关键我没这本书effective c++ 2e item 15/23/31,您有电子版的共享一下好吗
我啃 2007-02-08
  • 打赏
  • 举报
回复
引用传递,也叫别名,这样大的对象传送给函数时就不用去耗费效率去复制了
Dallas_Rockets 2007-02-08
  • 打赏
  • 举报
回复
& 就是绰号
经常能起到指针的效果
看看教材就可以理解
taodm 2007-02-08
  • 打赏
  • 举报
回复
章节都给你找出来了,你都不肯去看?够懒。
DJM12345678 2007-02-08
  • 打赏
  • 举报
回复
哪位能告诉我这个问题,分数全给你
sirguan 2007-02-08
  • 打赏
  • 举报
回复
这种问题最好找书看一下,锻炼自己解决问题的能力。
taodm 2007-02-08
  • 打赏
  • 举报
回复
effective c++ 2e item 15/23/31
wskyo 2007-02-08
  • 打赏
  • 举报
回复
呵呵,我来捡分的
realrukawa 2007-02-08
  • 打赏
  • 举报
回复
好汉,你好歹也把这个类写全了吧?就给个声明,果然够懒得
todototry 2007-02-08
  • 打赏
  • 举报
回复
class A
{
public:
A & operator =(const A &i);
};


void main()
{
A a,b,c;
a = b = c ;
}
先谢谢上面的各位啊,这个怎么编不过呀,
==================
你函数不定义怎么用,空函数那写个
{}
DJM12345678 2007-02-08
  • 打赏
  • 举报
回复


class A
{
public:
A & operator =(const A &i);
};


void main()
{
A a,b,c;
a = b = c ;
}
先谢谢上面的各位啊,这个怎么编不过呀,
realrukawa 2007-02-08
  • 打赏
  • 举报
回复
大致说说引用
1.别名 int &b=a;
引用本身并不占用存储单元,而且不能建立对数组的引用。

2.引用作为参数;
void swap(int &a,int &b)
使用引用传参,在内存中并没有实参的副本,而是直接对实参操作;如果传递的是对象,需要调用拷贝构造。

3.常引用;
const int &b=a;
b=0;//error
string Fun();
void SFun(string &s);
SFun("jackill")//error; 临时常量是const类型,不能转换成非const;

4.引用作为返回值
float temp;
float &fn2(float r) //定义函数fn2,它以引用方式返回函数值
{
temp=(float)(r*r*3.14);
return temp;
}
规则:不能返回局部变量的引用;不能返回堆内存的引用;可以返回类成员的引用;操作符重载要求必须返回一个引用。

5.多态
class A;
class B:public A{}
B b;
A &a= b; //A *a=new B();
sx 2007-02-08
  • 打赏
  • 举报
回复
用做声明时:作为引用类型的声明
用做运算时:取地址 或 位运算
梭梭888 2007-02-08
  • 打赏
  • 举报
回复
char& optertor [](int)
重下标操作符,接收一个int型作参数,返回一个char类型的引用
&也是引用,对int 变量的引用,不过中间还多了从int到char的隐式转换。
对不对?
todototry 2007-02-08
  • 打赏
  • 举报
回复
加油看,找本好的书
从基本的概念的入手
这东西不能一步登天的
DJM12345678 2007-02-08
  • 打赏
  • 举报
回复
好,谢谢各位兄弟,我慢慢悟吧,可能是我太笨了~~
wolf863292 2007-02-08
  • 打赏
  • 举报
回复
这个很难讲清楚啊.
简单说,加&,实参改变,不用返回值;不加&,不改变实参,需要返回值.


说实话,总不用这个,我有点和*搞混了......
大家说点大白话,帮帮他吧.
加载更多回复(10)

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧