北大 C++ 1.4 引用
来源:互联网 发布:无人机摄影测量软件 编辑:程序博客网 时间:2024/06/14 18:14
引用
1.下面的写法定义了一个引用,并将其初始化位引用某个变量。
类型名 & 引用名 = 某变量名
eg.int n = 4;
int & r = n; //r 引用了 n,r的类型是 int &
2. 某个变量的引用,等价于这个变量,相当于该变量的一个别名。
注意的地方:
- 定义引用时候一定要将其初始化成引用某个变量。
- 初始化后,它就一直引用该变量,不会再引起别的变量了。
- 引用只能引用变量,不能引用常量和表达式。
例1
#include <iostream> using namespace std;void swap(int &a, int &b){int tmp;tmp = a;a = b;b= tmp;}int main(){int n1,n2;n1 = 1; n2 = 2;swap(n1,n2);cout<<n1<<" "<<n2<<endl;return 0;}
例2
#include <iostream> using namespace std;int n = 4;int& SetValue(){return n;} int main(){SetValue() = 40;cout<<n;return 0;}
常引用
定义引用是,前面加const关键字,即为“常引用”
int n;
const int& r = n;
r的类型是 const int &
不能通过常引用去修改其引用的内容。
error:
int n = 100;
const int & r = n;
r = 200; // error
n = 300; // correct
常引用和非常引用的转换
const T & 和 T &是不同的类型!!! such as: const int & != int &
T&类型的引用或T类型的变量可以用来初始化const T &类型的引用。
const T 类型的常变量(这个概念我们后面再说)const T &类型的引用则不能用来初始化T&类型的引用,除非进行强制类型转换。
0 0
- 北大 C++ 1.4 引用
- 2017北大信科机试C
- 北大oj-1007 C语言
- 北大oj-1008 C语言
- 引用(c++)
- C++----引用
- c++-引用
- C ++ 引用
- 【c++】引用
- 【c++】引用
- C++:引用
- C++:引用
- C语言 北大POJ 2255 Tree Recovery
- C语言 北大POJ 1363 Rails
- 【北大OJ第二题】Exponentiation(C++)
- C/C++:C++引用
- 【c/c++】const引用
- 【C/C++】c++弱引用 强引用
- Java实现二叉树的递归构建及先序、中序、后序、层序遍历(递归和循环)
- 安装CocoaPods过程和遇到各种坑
- 【Python】学习笔记——-12、正则表达式
- 使用 IntelliJ Debug Android 源码
- FreeRTOS之事件标志组及实现FreeRTOS看门狗
- 北大 C++ 1.4 引用
- 从一道面试题,到“我可能看了假源码[2]
- js--this
- PAT甲级1002. A+B for Polynomials (25)
- 编程规范入门篇 空格和tab的区别
- Linux的SOCKET编程详解
- 底部弹出密码输入框
- 面试笔记--二维数组的查找
- vue.js学习笔记之prototype