c++引用--举例说明
来源:互联网 发布:泰安广电网络 编辑:程序博客网 时间:2024/05/29 15:39
简介:
引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。
c++11中新增了“右值引用”,我们这里所说的引用通常指“左值引用”。
例①
int a = 10; int &rea = a; //rea指向a,是a的另一个名字 int &rerea; //错误 引用必须被初始化
输出a 和 rea 都是10。
需要注意定义引用时,程序把引用和它的初始值绑定在一起,而不是将初始值拷贝给引用,一旦初始化完成,引用将和它的初始值对象一直绑定在一起,无法将引用绑定到另一个对象,因此引用必须初始化。
例②
int b; int &reb = b; b = 5; double &rereb = b; //错误 引用的类型需要和与之绑定的对象严格匹配,存在两个例外将在下面指出
输出b和reb都是5。
因为引用本身不是一个对象,所以不能定义引用的引用。
例③
void Swap(int &x, int &y){ int t = x; x = y; y = t;}
输出 比如a=5,b=10,当调用函数后,a=10,b=5。
可以看出,引用的操作实际上是作用在引用所引的对象上的。
拷贝大的类类型对象或者容器对象比较低效,甚至有的类类型不支持拷贝操作,函数只能通过引用形参访问类型的对象。
例④
const int c = 10;const int &rec = c; //正确 引用及其对应的对象都是常量int &rerec = c; //错误,试图让一个非常量引用指向一个常量对象
把引用绑定在const对象上,我们称之为对常量的引用。
例⑤
MyClass a(); //基类MyClassPlus b();//派生类MyClass &rea = a;MyClass &reb = b; //基类的引用绑定到派生类上
这是引用的类型与对象类型一致的一个例外,这里的含义是:当使用基类的引用(或指针)时,实际上我们并不清楚改引用(或指针)所绑定对象的真实类型,该对象可能是基类的对象,也可能是派生类的对象。这被称作向上强制转换。但向下强制转换是不允许的,因为is-a关系通常不可逆。
阅读全文
0 0
- c++引用--举例说明
- C++中 引用符&,以int&举例说明
- 举例说明:传值引用与传地址引用的区别
- c语言:break和continue的区别,编程举例说明
- 引用(c++)
- C++----引用
- c++-引用
- C ++ 引用
- 【c++】引用
- 【c++】引用
- C++:引用
- C++:引用
- C/C++:C++引用
- 【c/c++】const引用
- sprintf举例说明
- MVP举例说明
- 【C/C++】c++弱引用 强引用
- 举例说明如何在C#中使用C/C++写的DLL
- 飞龙的程序员书单
- 求助,求助
- Linux中的生产者消费者模型
- 马尔科夫 公式推导
- 对象的基础知识
- c++引用--举例说明
- 从Oracle迁移到MySQL的各种坑及自救方案
- [java]继承--构造方法
- FP-Growth 和 K-Means 学习报告
- SS客户端安装使用说明
- Aurora的安装和中文配置
- 手机测试中的ICCID是什么?
- redis安装
- matlab之原始处理图像几何变换