| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 771 人关注过本帖
标题:不是不可以建立引用的引用?? 请指导一下下
只看楼主 加入收藏
GBL
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-10-29
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:6 
不是不可以建立引用的引用?? 请指导一下下
#include<iostream>
using namespace std;
int main()
{
    void sort(int &,int &,int &);
    int a,b,c;
    cout<<"please enter 3integers:";
    cin>>a>>b>>c;
    sort(a,b,c);
    cout<<"sorted order is "<<a<<" "<<b<<" "<<c<<endl;
    return 0;
}

void sort(int &i,int &j,int &k)
{
    void change(int &,int &);
    if(i>j)change(i,j);
    if(i>k)change(i,k);
    if(j>k)change(j,k);
}

void change(int &p,int &q)
{
    int t;
    t=p;
    p=q;
    q=t;
}
2015-02-04 23:21
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:3 
不知所云
2015-02-05 08:46
GBL
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-10-29
收藏
得分:0 
回复 2楼 rjsp
我在书上看到注意:不能建立引用的引用。
void sort(int &i,int &j,int &k)
{
    void change(int &,int &);//不是不可以建立引用的引用??
    if(i>j)change(i,j);
    if(i>k)change(i,k);
    if(j>k)change(j,k);
}

void change(int &p,int &q)//这里的函数又再次用引用,不会出错么
{
    int t;
    t=p;
    p=q;
    q=t;
}
2015-02-05 16:33
fengyiyong
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2015-2-5
收藏
得分:3 
形参传递的是实参副本,可能是这个原因吧
2015-02-05 20:53
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:0 
形参传递的是实参副本 --- 当然不是了,否则 change(i,j); 后i和j不会值调换

int a;
int& b = a; // b 就是 a
int& c = b; // c 就是 b,就是说 c、b、a 是同一个东西
2015-02-06 08:49
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:3 
lz的意思大概是指针的指针吧,他main函数调sort传的是指针,sort钓change又传的是指针,不就变成了main里的指针的指针?其实没有变成指针的指针,因为你sort里已经是指针了,你往change里传不再需要加&运算的。

能编个毛线衣吗?
2015-02-06 09:02
stop1204
Rank: 9Rank: 9Rank: 9
来 自:福建省
等 级:贵宾
威 望:22
帖 子:295
专家分:1151
注 册:2013-9-8
收藏
得分:3 
将一个引用指向另一个引用..

你那代码都不是

hl928452957@gmail点com

2015-02-10 22:32
快速回复:不是不可以建立引用的引用?? 请指导一下下
数据加载中...
 
   



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

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