前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++的引用

C++的引用

作者头像
布衣者
发布2021-09-07 11:05:47
4890
发布2021-09-07 11:05:47
举报
文章被收录于专栏:布衣者博客

这两天在C语言的基础上看了C++了一部分,现在看到了除了C语言可以通过值传递和地址传递之外,还可以通过引用的放大进行传递。 其意义就相当于给变量起一个别名。 定义方法:

代码语言:javascript
复制
int a; 
int &b=a;
注意点:

(1).应用只是声明,不是定义。 (2).声明的时候不需初始化。 (3).初始化之后不能别其他变量再次引用。 (4).不能引用数组。(部分编译器可以,但是这种行为会破环稳定性。) (5).不能建立引用的引用。 实践中发现很多这句话的真正解释好像于书上不同,而且书上本身的例题也是违反了定义。 书上的定义:

代码语言:javascript
复制
int a=3;
int &b=a;
int &c=b;

其实我认为这样是对的,真正错误的是以下形式:

代码语言:javascript
复制
int a=3;
int &b=a;
int &&c=b;

问题:通过引用把三个整数从小到大排列。

代码语言:javascript
复制
#include<iostream>
using namespace std;
void change(int &x,int &y)
{
    int temp;
    temp=x;
    x=y;
    y=temp;
}
void  sort(int &a,int &b,int &c)
{
    if(a>b)change(a,b);
    if(a>c)change(a,c);
    if(b>c)change(b,c);
}
int  main()
{
    int m,n,p;
    cin>>m>>n>>p;
    sort(m,n,p);
    cout<<m<<" "<<n<<" "<<p<<endl;
    return 0;
 } 

运行结果:

代码语言:javascript
复制
10 4 2
2 4 10                            
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年07月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注意点:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档