C++引用:&
来源:互联网 发布:仿美文网整站源码 编辑:程序博客网 时间:2024/06/06 15:55
引用
1.什么是引用:
引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。
2.引用的声明表达式
类型标识符 &引用名=目标变量名;
3.代码实现
#include<iostream>using namespace std;int main(){ int a = 1; int &b=a; //声明b是变量a的引用,b与a有同样的操作效果。 b = 2; cout << b << endl; cout << a << endl;}
运行结果:
注:
- &在此并非取地址符而是引用声明符;
- 声明引用时候需要进行初始化,即声明它代表哪一个变量;
- 数组不能建立引用;
- 不能建立引用的引用;
- 一个变量可以有多个引用,但不能一个引用对应多个变量
引用作为函数参数:
我们先看一个通过指针交换两变量值的函数
#include<iostream>using namespace std;void swap(int* a,int* b)//形参为指针变量{ int c = *a; //通过地址访问变量更改 *a = *b; *b = c;}int main(){ int a = 1; int b = 2; cout << a << endl; cout << b << endl; cout << endl; swap(&a,&b); //传入变量的地址,实参为变量地址。 cout << a << endl; cout << b << endl;}
运行结果:
现在如果利用引用实现变量交换,我们在swap函数形参中指定变量的引用,即给实参起“别名”在swap函数中通过“别名”进行交换。
因此swap函数还可以这样写
#include<iostream>using namespace std;void swap(int& a,int& b)//形参为“引用”{ int c = a; a = b; b = c;}int main(){ int a = 1; int b = 2; cout << a << endl; cout << b << endl; cout << endl; swap(a,b); //实参为整形变量 cout << a << endl; cout << b << endl;}
因此我们可以利用引用写函数来便于理解,方便使用。
阅读全文
0 0
- 引用(c++)
- C++----引用
- c++-引用
- C ++ 引用
- 【c++】引用
- 【c++】引用
- C++:引用
- C++:引用
- C/C++:C++引用
- 【c/c++】const引用
- 【C/C++】c++弱引用 强引用
- 枚举 c#(引用)
- 数组引用(C++)
- C++_引用
- c语言中的引用
- (Linux,c++)引用
- 引用(C++)
- objective-c 引用计数
- jQuery的属性与样式
- python-深拷贝和浅拷贝
- android AP侧通过sensor_class挂载sensor的一种方案
- Java解析网络数(Json)运用CloseableHttpClient
- 【Machine Learning】笔记:Transfer Learning
- C++引用:&
- Spark 2.0 DataFrame map操作中Unable to find encoder for type stored in a Dataset.问题的分析与解决
- Win10专业版+VS2017+OpenCV3.3.0环境搭建
- 【2017.9.5】研究生,新的起点,新的开始
- Hexo默认的主题更改
- java面向对象(二)之继承
- 简单的背包问题
- Java 8 新特性(一)lambda表达式
- 基于MQTT协议的Mosquitto的使用及libmosquitto客户端编程