设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1060|回复: 9
打印 上一主题 下一主题

求助!引用问题!

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 01:40:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
那位大哥能告诉告诉我下面的代码为什么也能运行,感谢万分!

#include <iostream>
using namespace std;
int main()
{
int &Fun();

int ia;

ia = Fun();

cout << "ia = " << ia << endl;

cin.get();
cin.get();
}
int &Fun()
{
int ia = 10;
return ia;
}
返回普通类型怎么也可以
2#
发表于 2009-11-3 01:40:33 | 只看该作者
为什么不可以
是引用呀
返回INT型IA的引用
不过内容不确定
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 01:40:34 | 只看该作者
ia  是int类型,返回时也能当引用类型吗
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 01:40:35 | 只看该作者

你说这个呀
一看就知道你就光看C了
这里面有个临时变量(不是无名变量)引用IA
有一个转换
然后把那个临时变量传回去
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 01:40:37 | 只看该作者
非常感谢,有点灵感了
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 01:40:38 | 只看该作者
我不知道我理解的对不对,这里ia返回给了一个ia的引用,即是在执行函数返回时,内部隐藏的有(int i&=ia),然后返回的就是i了。
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 01:40:39 | 只看该作者
昏,我打字的时间就有两个帖子在我之前发出去了啊
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-3 01:40:41 | 只看该作者
差不多
其实每个函数返回都需要一个中间值来做转换(栈区到数据区,老师没细说,自己悟的)
只是那些情况不象这样,都很容易书面理解不用考虑机制
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-3 01:40:42 | 只看该作者

我前面也有一个
我前面那个是回6楼的
好积极呀
回复 支持 反对

使用道具 举报

10#
发表于 2009-11-3 01:40:44 | 只看该作者
帖子怎么写?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 08:50 , Processed in 0.195771 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表