1.引用的内涵

  引用就是给变量取外号而已。

2.四种不能使用引用的情况

void &r=x; //不能建立void类型引用
int &&r=x; //不能建立引用的引用
int &*p=x; //不能建立指向引用的指针,但是可以建立指向指针的引用
int &ra[]=a; //不能建立引用的数组

  总结:引用一有三无:有类型,无引用,无指针,无数组

3.引用的最基本用法

#include<iostream>
using namespace std;
int x=,y=;
int &r=x;
void print()
{
cout<<"x="<<x<<" y=<<y<<" r="<<endl;
cout<<"Address of x "<<&x<<endl;
cout<<"Address of y "<<&y<<endl;
cout<<"Address of z "<<&z<<endl;
}
int main()
{
print();
r=y; y=;
print();
x=;
print();
return ;
}
运行结果如下:
x= y= r=
Address of x 00474DD0
Address of y 00474DD4
Address of r 00474DD0
x= y= r=
Address of x 00474DD0
Address of y 00474DD4
Address of r 00474DD0
x= y= r=
Address of x 00474DD0
Address of y 00474DD4
Address of r 00474DD0

  总结:修改作用,引用==原变量

4.引用作为形参

  引用作形参,系统不为其另分配内存空间,与原变量公用内存空间。

  调用函数才初始化。

 #include <iostream>
using namespace std;
void swap(int &x,int &y)
{
int t=x;
x=y;
y=t;
}
int main()
{
int a=,b=,c=,d=;
cout<<"a="<<a<<" b="<<b<<endl;
swap(a,b);
cout<<"a="<<a<<" b="<<b<<endl;
cout<<"c="<<c<<" d="<<d<<endl;
swap(c,d);
cout<<"c="<<c<<" d="<<d<<endl;
return ;
}

RESULT:

a=3 b=5
a=5 b=3
c=10 d=20
c=20 d=10

原文来自饼神的博客:http://my.oschina.net/zqmath1994/blog/506840

最新文章

  1. MapReduce剖析笔记之三:Job的Map/Reduce Task初始化
  2. bootstrap之消息提示
  3. Python学习总结6:字符串格式化操作及方法总结
  4. JQuery知识快览之一—选择器
  5. code::blocks 初使用遇到的问题记录
  6. JDBC访问SQLServer2008数据库
  7. AsyncTask 解析
  8. Configuring the JA-SIG CAS Client --官方
  9. android单选按钮选择,RadioGroup,radioButton
  10. Startup 和 Middleware(中间件)
  11. FMCG行业是什么行业?
  12. 201521123059 《Java程序设计》第五周学习总结
  13. 基于Windows下浏览器无法正常打开的解决方案
  14. SPOJ - DISUBSTR 多少个不同的子串
  15. xslt注入
  16. Linux 进程级开启最大文件描述符 调优
  17. Webserver管理系列:6、网络和共享中心的安全配置
  18. 各种hash函数
  19. virtualbox 5.0.6 在debian jessie amd64启动报错
  20. 枚举转SelectList扩展方法

热门文章

  1. IntelliJ IDEA中 查看某个类中的所有方法
  2. canvas的两个方法说明
  3. linux解压eclipse启动时无法找到jre环境的解决办法
  4. Thread-Specific-Storage for C/C++
  5. 使用Vue构建单页应用一
  6. 若是将Map作为Key,存入Redis,该如何操作?
  7. Redis笔记 -- 在 Centos7.4单机中部署Redis集群(二)
  8. 工具 | Axure基础操作 No.2
  9. CentOS7 更换阿里云源
  10. 关于secureCRT的安装