新微赢技术网

标题: 求助!引用问题! [打印本页]

作者: 听妈妈的话    时间: 2009-11-3 01:40
标题: 求助!引用问题!
那位大哥能告诉告诉我下面的代码为什么也能运行,感谢万分!

#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;
}
返回普通类型怎么也可以
作者: v九天〓云龙    时间: 2009-11-3 01:40
为什么不可以
是引用呀
返回INT型IA的引用
不过内容不确定
作者: 欧阳风    时间: 2009-11-3 01:40
ia  是int类型,返回时也能当引用类型吗
作者: 丑剑客    时间: 2009-11-3 01:40

你说这个呀
一看就知道你就光看C了
这里面有个临时变量(不是无名变量)引用IA
有一个转换
然后把那个临时变量传回去
作者: ─────╂    时间: 2009-11-3 01:40
非常感谢,有点灵感了
作者: 泪在爱上雕刻    时间: 2009-11-3 01:40
我不知道我理解的对不对,这里ia返回给了一个ia的引用,即是在执行函数返回时,内部隐藏的有(int i&=ia),然后返回的就是i了。
作者: 蓝血腥人    时间: 2009-11-3 01:40
昏,我打字的时间就有两个帖子在我之前发出去了啊
作者: QQ糖    时间: 2009-11-3 01:40
差不多
其实每个函数返回都需要一个中间值来做转换(栈区到数据区,老师没细说,自己悟的)
只是那些情况不象这样,都很容易书面理解不用考虑机制
作者: ヤforget♀戀    时间: 2009-11-3 01:40

我前面也有一个
我前面那个是回6楼的
好积极呀
作者: 无形的天空    时间: 2009-11-3 01:40
帖子怎么写?




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2