看谭老师<>的问题

haozlee 2006-10-14 01:45:50
在对运算符重载时,如对"<<"和">>"重载时,书中给出它们的重载函数形式为:
istream & operator >> (istream & ,自定义类 &);
ostream & operator << (ostream & ,自定义类 &);
对它们的函数形式参数而言,其类型是istream &或ostream &,我觉得是比较好理解的,可是为什么函数的返回类型也是要为istream &和ostream &呢?我看istream和ostream 也行了啊!
到底这两种返回类型有什么区别,哪位可以说说啊?
...全文
312 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hell_wolf 2006-10-15
  • 打赏
  • 举报
回复
返回引用开销小些,
如果返回的是一个矩阵等很大的对象,复制的开销回很大.

tsst 2006-10-14
  • 打赏
  • 举报
回复
其实你不去想它是操作符,把它理解为一般的函数,就理解了,返回值的问题,返回引用与返回copy
个人见解
飞哥 2006-10-14
  • 打赏
  • 举报
回复
同意楼上!!
^_^
飞哥 2006-10-14
  • 打赏
  • 举报
回复
还得看这个。。
------------
回复人:jixingzhong(瞌睡虫:选择了远方,只顾风雨兼程!) ( 三星(高级)) 信誉:102 2006-10-14 8:36:33 得分:0
?

也行 ~

但是引用返回可以提高效率,
否则返回 拷贝的话,
需要通过一个临时对象构造一个新的的对象,
浪费~~

返回引用就不必了 ..
jixingzhong 2006-10-14
  • 打赏
  • 举报
回复
也行 ~

但是引用返回可以提高效率,
否则返回 拷贝的话,
需要通过一个临时对象构造一个新的的对象,
浪费~~

返回引用就不必了 ...
haozlee 2006-10-14
  • 打赏
  • 举报
回复
还有哪位可以说说的吗?
还是不太明啊.我这个菜鸟~~
Wolf0403 2006-10-14
  • 打赏
  • 举报
回复
cout << o1 << o2;

=>

operator << ( operator << (cout, o1), o2 );

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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