| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1347 人关注过本帖
标题:为什么??
只看楼主 加入收藏
双云
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2004-11-1
收藏
 问题点数:0 回复次数:10 
为什么??
main()
{
int a=4;
int &b=a;
cout<<&b<<endl;
}
输出什么?为什么?
2005-03-30 12:58
arjiang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-3-28
收藏
得分:0 
int &b=a;   //b是a的别名.b就是a.   &b的输出应该是地址.

我认为是这样.
2005-03-30 14:48
逍灵剑
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2005-3-21
收藏
得分:0 
输出的是地址
int &b=a;   //b是a的别名.b就是a.   <----是这样吗?这个我不知道,呵呵,&不是取地址吗?楼下的说说

2005-03-30 21:59
yjing_cool
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-3-16
收藏
得分:0 
b是a的别名,因此b就是a.
&是取地址符号,因此,&b输出的是b的地址;
其实,b的地址也是a的地址。因为变量与他的别名存放在同一地址中。
2005-03-31 09:37
双云
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2004-11-1
收藏
得分:0 
楼上的朋友,首先谢谢你们对我问题的帮助, 但是你们所说的那些东西我都知道, 我想知道的是为什么不论什么时候运行这个程序结果总是一样的, 并且都是0*0012FF7C 谁能帮我???!!1

2005-03-31 13:45
surivering
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-3-5
收藏
得分:0 
应该是你的机器上这个程序就是存储在一个固定的空间,每次输出的地址就是这个地址,当然每次的结果是一样的
2005-04-09 11:50
风淦觉月
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-3-24
收藏
得分:0 
对,你换一台机可能就不一样了。

2005-04-10 20:48
风淦觉月
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2005-3-24
收藏
得分:0 
我把你的程序增改了一下,运行结果就那个"&b"就不是原来的值了。不过不论你如何改,这个值与"&a"的值始终是一样的。

#include <iostream.h>
void main()
{
float c=555.0;        //随便输的一个值
int a=4;
cout<<&c<<endl;
cout<<&a<<endl;
int &b=a;
cout<<&b<<endl;
cout<<&a<<endl;
}

由此可以有所验证了。

2005-04-10 21:04
tary
Rank: 1
等 级:新手上路
帖 子:780
专家分:0
注 册:2004-10-5
收藏
得分:0 
&b=a, 这是个引用, 是C++不同于C之处的.
这样就是取地址.
可以像楼上那样,  做一个程序来测试.

┌→¨ ≮我可以学会对你很冷落≯¨←┐ │  <却学不╓══╦══╖会将爱> │ │¨←┐ ╭╩╮哭‖哭╭╩╮ ┌→¨│ └──┘收 ╲╱ ◇‖◇ ╲╱回└──┘
2005-04-11 10:39
羽扇东风
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2004-12-2
收藏
得分:0 
我是刚学到引用的 楼主这个刚好我知道一点 b是a的别名 &b输出的是b的地址 0*0012FF7C就是在楼主的机子上a 所开辟的内存地址

2005-04-14 10:54
快速回复:为什么??
数据加载中...
 
   



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

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