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