| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1519 人关注过本帖
标题:[求助]引用传递与指针传递的性能差异
只看楼主 加入收藏
BlueDreame
Rank: 1
等 级:新手上路
帖 子:545
专家分:2
注 册:2004-12-16
结帖率:66.67%
收藏
 问题点数:0 回复次数:9 
[求助]引用传递与指针传递的性能差异

如题。

引用传递的速度快还是指针传递的速度快?引用传递有什么安全性考虑吗?

搜索更多相关主题的帖子: 指针 性能 
2006-10-25 14:07
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
收藏
得分:0 
应该引用传递效率更高。。因为指针传递需要一个指向同一地址的指针变量。。
而引用传递的接受对象只是实际参数的另一个称呼。。。
引用传递有可能引起实际参数的改变。。所以形参前一般都加const

天行健,君子以自强不息!!QQ:68660681
2006-10-25 18:44
yvtianzll
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-9-13
收藏
得分:0 
这个我认为引用编译器的实现也是用指针来实现的
所以效率方面应该差不多
但是用引用不用担心空指针问题,安全性更好一点
2006-10-25 21:41
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-10-25 21:43
BlueDreame
Rank: 1
等 级:新手上路
帖 子:545
专家分:2
注 册:2004-12-16
收藏
得分:0 

?
我也觉得引用的安全性好一些。


2006-10-25 21:50
majia775
Rank: 1
等 级:新手上路
威 望:2
帖 子:94
专家分:0
注 册:2006-9-11
收藏
得分:0 
引用比指针简单,直观,方便,出错几率也少.

我不是随便的人,我随便起来不是人.... http://majia775.
2006-10-25 21:50
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
最大的顾及就是说指针和引用是一个
要把引用当新的类型看

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-10-25 23:42
myajax95
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:30
帖 子:2978
专家分:0
注 册:2006-3-5
收藏
得分:0 

使用引用当然更加安全。除了一定要用指针的时候使用引用比较好。在C++中引用本身可以理解为是用一个常数指针实现的。常数区的访问比较快。而指针如果是在heap里生成的访问速度会稍微慢一点点,几乎可以忽略。如果也是在常数区或者堆占里生成的访问速度就没什么区别了。基本上可以说其访问速度上的区别可以忽略。主要是安全方面的考虑。


http://myajax95./
2006-10-25 23:58
majia775
Rank: 1
等 级:新手上路
威 望:2
帖 子:94
专家分:0
注 册:2006-9-11
收藏
得分:0 
同意song4的,引用是一种全新的变量类型,它的作用就是为了给一个变量起一个别名.
int a;
int &b=a;//这个&是引用声名符,不要理解为把a的值赋给b的地址,b不需要另外开辟内存空间,它和a是同一地址.

[此贴子已经被作者于2006-10-26 0:23:02编辑过]


我不是随便的人,我随便起来不是人.... http://majia775.
2006-10-26 00:22
yvtianzll
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-9-13
收藏
得分:0 
恩,引用应该是一种类型

[此贴子已经被作者于2006-11-7 21:48:04编辑过]


2006-11-07 21:25
快速回复:[求助]引用传递与指针传递的性能差异
数据加载中...
 
   



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

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