c++学习笔记(九)
2024-08-26 14:56:18
引用(reference)
概念
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。
一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。
用法
变量名称是变量附属在内存位置中的标签,所以可以把引用当成是变量附属在内存位置中的第二个标签。
即可以通过原始变量名称或引用来访问变量的内容。
int i=1;
int& x=i;
在这个声明里&读作引用,这个声明可以读作 "x是一个初始化为i的整型引用"。
但是需要注意,引用必须进行初始化,而且不能直接引用常量。
int& x;//错误的写法
int& x=3;//也是错误
如果要引用常量的话,前面必须加上const。
const int& x=3;//对的写法
原因的话,是因为后面可能会对引用的进行复制,常量不能进行赋值,所以直接引用常量是错的,而加上const就好了。
使用引用和使用指针相比的话有一个好处,就是不需要测试其有效性。因为在引用一定会有指向的。
使用引用参数
实践一下,看看使用引用参数能不能交换2个函数的值
#include<iostream>
using namespace std;
void swap(int& ,int& );//使用引用参数。
int main()
{
int n1=3,n2=5;
swap(n1,n2);
cout<< n1 << "\t" << n2 <<endl;
return 0;
}
void swap(int& a,int& b)
{
int t;
t=a;
a=b;
b=t;
}
结果是成功交换,因为在使用引用参数时,传进函数的就已经不是形参,而是本体实参了。
当然这个的话指针也可以做到。但有一些使用引用的理由。
1.可以更简便地书写代码。
2.可以直接传递某个对象,而不是直接把对象复制一份。
最新文章
- Python:基本语法1
- BZOJ 3489 A simple rmq problem(可持久化线段树)
- git remove cache
- JSP页面动态联动
- 计算器显示e-005什么意思
- C++中Reference与指针(Pointer)的使用对比
- JeeSite 企业信息管理系统基础框架
- linux下开机启动脚本的方法
- (翻译)使用Api分析器与Windows兼容包来编写智能的跨平台.NET Core应用
- ios 访问隐私信息 info.plist 中的字段
- MySQL Block Nested Loop and Batched Key Access Joins(块嵌套循环和批量Key访问连接)
- 一些常见的Java面试题 &; 面试感悟
- windows下consul利用json文件注册服务
- asynchronous.js
- [尝鲜]妈妈再也不用担心 dotnet core 程序发布了: .NET Core Global Tools
- SIP 认证
- SQL Server物化视图学习笔记
- css动效库animate.css和swiper.js
- jquery阻止表单提交
- session 之session混乱解决方法(转)
热门文章
- mysql从零开始之MySQL 选择数据库
- windows下编译caffe出现错误 C4996: &#39;std::_Copy_impl&#39;: Function call with parameters that may be unsafe?
- 分布式锁Redission
- Go语言核心36讲(Go语言基础知识二)--学习笔记
- JVM堆内存泄露分析
- 人力节省 50%,研发效能提升 40%,阿里 Serverless 架构落地实践
- Tomcat各种日志的关系与catalina.out文件的分割
- 关于SSTI的坑
- pycharm中安装和使用sqlite过程详解
- Java:并发笔记-01