| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 484 人关注过本帖
标题:请各位大侠帮忙看看这个问题
只看楼主 加入收藏
hyqhero
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-7-23
收藏
 问题点数:0 回复次数:3 
请各位大侠帮忙看看这个问题
#include <iostream>
class ilist {
public:
void display( ostream &os = cout );
// ...
};
void
ilist::
display( ostream &os )
{
os << "\n( " << _size << " )( ";
ilist_item *ptr = _at_front;
while ( ptr ) {
os << ptr->value() << " ";
ptr = ptr->next();
}
os << ")\n";
}

我的问题是display函数为什么非要带&os这个参数呢
写成下面这样不是很简洁  不知道加这个参数是不是有什么好处请高手指点!
#include <iostream>
class ilist {
public:
void display( );
// ...
};
void
ilist::
display( )
{
cout << "\n( " << _size << " )( ";
ilist_item *ptr = _at_front;
while ( ptr ) {
cout<< ptr->value() << " ";
ptr = ptr->next();
}
cout << ")\n";
}
谢谢各位大侠了 这是c++primary上的一个例子
搜索更多相关主题的帖子: display include public 
2008-08-08 16:43
xlh5225
Rank: 2
等 级:论坛游民
威 望:2
帖 子:188
专家分:25
注 册:2007-8-14
收藏
得分:0 
首先函数,没有谁一定要你带什么参数!
要看程序自己的设计水平...很明显有ostream &os 作参数,对于多种输出流都是通用的,程序的扩展性显然比直接用cout要好的多
2008-08-09 10:21
忘记喧嚣
Rank: 1
等 级:新手上路
帖 子:146
专家分:0
注 册:2007-10-7
收藏
得分:0 
如果输入参数以值传递的方式传递对象,则宜改用“const &”方式来传递,这样可以省去临时对象的构造和析构过程,从而提高效率

这就是 值传递和引用传递的区别.如果都是一般的内型如 int char
这样的话两种传递差别不大.

按引用传递只是传递了一个对象的地址而已.值传递传一个副本.如果这个副本
很大的话.那么效率肯定就低了
2008-08-09 12:57
hyqhero
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-7-23
收藏
得分:0 
谢谢ls两位兄弟....
2008-08-10 13:48
快速回复:请各位大侠帮忙看看这个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019278 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved