C++学习笔记---引用
来源:互联网 发布:数据下载 编辑:程序博客网 时间:2024/06/11 11:45
引用,reference 在本质上就是指针,从创建开始,就与目标绑定
指针定义
int a = 123;
int* p = &a;
称作:“p指向了变量a”
引用定义
int a = 123;
int& r = a; //引用的定义
称作:“r是变量a的引用” “r引用了变量a” 和指针是一个意思
指针的使用
int a = 123;
int* p = &a;
*p = 999;
引用类型
int a = 123;
int& r = a; //引用的定义
r = 999; //队r的操作,就是对a的操作
引用可以看作是目标对象的一个别名,对引用的操作其实就是对目标对象的操作。r的地址与a的地址相同
注意事项:
1)引用必须在定义的时候初始化,也就是创建就要与目标对象绑定。
以下代码有语法错误:
int a = 123;
int& r; //语法错!必须初始化!
2)引用在定义时就与目标对象绑定,无法解绑
引用的更多用法
(1)引用作为函数的参数
和指针类似,引用也可以作为函数的参数,功能相同。“传引用”和“传地址”本质相同。
所以,参数的传递有两种方式:
1>传值(效率低)
2>传地址或传引用(效率高)
(2)引用作为函数的返回值
和指针一样,引用也可以作为函数返回值
例:
int number = 0; //全局变量
int& test()
{
return number;//并不是返回了number的值,而返回了他的引用
}
注意:普通函数的返回值都只是右值,只有返回引用时才能当做左值来用。
和指针一样,引用也有安全性问题。
主要是检查引用的目标对象是否有效
比如,引用的目标对象是一个局部变量,那么,在函数退出后,目标对象失效,所以引用也就不能用了。
例:
int& test()
{
int target = 123;
return target;
}
阅读全文
0 0
- C++primer学习笔记--右值引用
- C++Primer 学习笔记之指针和引用
- C/C++学习笔记11:指针与引用的区别
- Object C 自动引用计数ARC 学习笔记
- C/C++程序设计学习笔记三:通过指针引用数组
- 【《Objective-C 高级编程》 学习笔记--引用计数】
- 《More Effective C++》学习笔记之一引用与指针
- C++primer学习笔记——引用和指针
- 【C++】学习笔记四十——引用变量
- 【C++】 引用学习
- c++学习笔记--引用&
- “引用”学习笔记
- c++引用学习笔记
- 《学习bash》笔记--引用
- c++学习笔记--引用
- 常引用学习笔记
- c++学习笔记-----引用
- 【C++学习笔记】引用
- what fuck
- 相关学习网站
- 压缩并设置圆形头像
- Gzip压缩的HttpResponse解析
- LeetCode.341 Flatten Nested List Iterator
- C++学习笔记---引用
- Java读取.ini文件(二)
- 5G系统RAN架构解析之CU和DU的应用和功能切分方式
- 【Scikit-Learn 中文文档】广义线性模型
- protobuf 前端怎么使用
- jsp基本内容2
- Hyperledger farbic处理过程
- Spring MVC 如何接收前端各种参数
- orcale 循环