|
编程中国
|
业界新闻
|
技术文章
|
视频教程
|
下载频道
|
程序源码
|
个人空间
|
编程论坛
|
登录
注册
平板模式
论坛地图
帮助
编程论坛
→
开发语言
→
C++论坛
→
C++教室
→ 关于函数返回引用的问题
我的收件箱(0)
全能ASP/PHP/ASP.NET主机,支持月付
专业
MSSQL
数据库空间,支持月付
专业
MySQL
数据库空间,支持月付
学习型 ASP/PHP/ASP.NET 主机
30
元/年
高端软件开发 = 年薪十万不是梦
赛孚耐:软件保护加密专家
身份认证令牌USB KEY
12
1/2页
1
2
共有
772
人关注过本帖
标题:关于函数返回引用的问题
waiting……
收藏
订阅
推荐
打印
天外飞客
等级:新手上路
帖子:9
积分:178
注册:2004-12-25
楼主
关于函数返回引用的问题
在用引用返回函数值时,不用在被调函数中开辟空间放返回值,,那么这个引用要不要开辟存储空间啊,
搜索更多相关主题的帖子:
函数
空间
返回值
2005-5-7 11:50
笨笨鸟
等级:新手上路
帖子:15
积分:250
注册:2005-5-10
第
2
楼
说清楚点?
2005-5-11 23:28
冷酷无情
等级:新手上路
帖子:25
积分:350
注册:2005-5-4
第
3
楼
用变量的引用做函数形参是地址传递,如果在函数当中改变了形参的值,也就改变了实参的值,这个和用指针来做形参类似,但是二者也有本质区别,变量的引用就是变量的别名(比如你可以有几个名字,但是每个名字都是你一样),在函数执行过程中并不为这个引用开辟内存,而指针变量是有值的,是需要开辟内存单元的;
如果在函数中定义了一个变量(假设不是静态局部变量和静态数据成员),然后需要返回这个变量的值,那么在函数调用过程中要为这个变量开辟内存单元,当调用结束时释放内存。
不知道你是不是要问这个
2005-5-12 03:27
天外飞客
等级:新手上路
帖子:9
积分:178
注册:2004-12-25
第
4
楼
不是这个,,是这样的
……
int g_i;
int fun()
{
……
return g_i ;
}
void main()
{
……
int k=fun();
……
}
一般来说,在调用fun()完返回值时,会在fun的栈区生成一个临时变量,把g_i拷贝到临时变量,然后再把这个临时变量值赋给k。
那么如果返回的是一个引用,那么这会不会在栈区生成一个临时的变量呢??
2005-5-13 21:30
笨笨鸟
等级:新手上路
帖子:15
积分:250
注册:2005-5-10
第
5
楼
fun()的g_i和外面的g_i不是一回事吧?
我是菜鸟,还请大虾谈谈
2005-5-13 23:16
天外飞客
等级:新手上路
帖子:9
积分:178
注册:2004-12-25
第
6
楼
就是对同一个数据的操作。。。
2005-5-13 23:19
tary
等级:高级会员
帖子:781
积分:8060
注册:2004-10-5
第
7
楼
我想引用的慨念你应该知道吧..
引用不同于指针.. 指针要分配内存空间..而引用不用分配内存空间,这一方面减少了内存的乱用情况啊.
┌→¨ ≮我可以学会对你很冷落≯¨←┐ │ <却学不╓══╦══╖会将爱> │ │¨←┐ ╭╩╮哭‖哭╭╩╮ ┌→¨│ └──┘收 ╲╱ ◇‖◇ ╲╱回└──┘
2005-5-15 10:08
天外飞客
等级:新手上路
帖子:9
积分:178
注册:2004-12-25
第
8
楼
引用肯定要分配空间拉,,不然怎么放啊,哈哈……
只是c++屏蔽了对引用的访问,所以逻辑上可以认为这样,,但是实际上就不是这样了的拉
2005-5-15 14:27
live41
等级:贵宾
威望:
67
帖子:12422
积分:126000
注册:2004-7-22
第
9
楼
啊?引用好象不占空间吧?
2005-5-15 15:36
hu_sir
等级:中级会员
帖子:208
积分:2230
注册:2004-4-29
第
10
楼
是不会开辟临时空间的!
============================== 欢迎交流!
2005-5-18 12:52
12
1/2页
1
2
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
Archiver
|
WAP
|
TOP
编程中国
版权所有,并保留所有权利。鲁ICP备08000592号
Powered by
Discuz
, Processed in 0.053087 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved