c++快速简易入门教程_009引用
2016-04-11 17:56
211 查看
1 引用
在c++中引用就是一个变量的别名,它需要用另一个变量或对象初始化自身。如下是一个简单的例子。#include <iostream> using namespace std; void main(){ int a = 5; int &b = a;//用&表示申明一个引用。引用必须在申明时进行初始化 int c = 3; b = c; cout << "b=" << b << endl; cout << "a=" << a << endl; printf("hello...."); system("pause"); return; }
运行结果:
b=3 a=3 hello....请按任意键继续. . .
为什么a的值会被改变了呢?这是因为引用和用来初始化引用的变量指向的是同一块内存,因此可以通过引用和变量改变同一块内存中的内容。正因为如此我们在编程中很少使用引用,如果一个内存可以通过变量和引用都进行修改那可就麻烦了。引用多数用在函数的形参定义上,在调用函数传参时,我们经常使用指针传递,一是避免在实参占较大内存时发生值的复制,二是完成一些特殊的作用,例如在函数中修改实参所指向的内容。同样使用引用也能完成指针的功能,有些情况下能达到使用指针更好的效果,以下就是一个很好的例子:
#include <iostream> using namespace std; // ange函数主要用来交换a和b void change(int &a, int &b); void main(){ int x = 5; int y = 3; cout << "original x=" << x << endl; cout << "original y=" << y << endl; change(x, y); /*此处如果用指针传递,则调用change(&x,&y),这样很容易让人迷惑,不知道交换的是x和y的值,还是x和y的地址?此处用引用, 可读性就比指针要好 */ cout << "changed x=" << x << endl; cout << "changed y=" << y << endl; printf("hello...\n"); system("pause"); return; } void change(int &a, int &b){ a = a + b; b = a - b; a = a - b; }
相关文章推荐
- c++快速简易入门教程_008函数的覆盖和隐藏
- c语言中的rewind函数,Win CE 不支持,可用fseek函数替换
- c++快速简易入门教程_007虚函数与多态性、纯虚函数
- 第3周 C语言及程序设计初步例程-46 小小型应用系统开发指导(一)
- c++创建txt文件,并写入内容
- C++作业3—本月有几天/定期存款利息计算器/个人所得税计算器
- c++标准模板库_联合容器_Bitsets详解
- c++标准模板库_容器适配器 _Queues(队列)详解
- c++标准模板库_容器适配器 _Stacks(堆栈)详解
- c++标准模板库_顺序结构_List详解
- c++标准模板库_顺序结构_Vectors详解
- c++迭代器Iterator详解
- c++指针详解
- c++实验3-个人所得税计算器
- c++快速简易入门教程_006继承
- cpptest 的安装和破解
- 已知三点坐标求外接圆方程和RANSAC算法的介绍,用C语言实现,其使用随机抽样一致性算法来求最合适圆时使用
- c++快速简易入门教程_005this指针
- c++快速简易入门教程_004函数的重载
- c++快速简易入门教程_003析构函数