引用reference——c++

本文详细介绍了C++中的引用,包括其含义、定义方式和注意事项。引用作为对象的别名,必须在声明时初始化且不能绑定到字面值或表达式。此外,对比了引用与指针的区别,虽然底层实现类似,但引用在使用上更简洁高效,通常推荐使用引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

含义

引用 是为对象起了另外一个名字,引用即别名。

定义

类型名& 引用名 = 变量名

eg:

 int num=70;
   int& r_num=num;
   cout<<num<<"\t"<<r_num<<endl;

输出:

70		70

引用注意事项

  • 引用并非对象,只是为一个已经存在的对象起的别名
  • 引用只能绑定在对象上,不能与字面值或某个表达式的计算结果绑定在一起
int &ref _value = 10;//错误

如果想要引用指向常量可以使用const

const double& ref=100;
  • 引用必须初始化,所以使用引用之前不需要测试其有效性,因此使用引用可能会比使用针效率高。
int &ref _value;//错误

引用和指针的关系

  • 引用对指针进行了简单封装,底层仍然是指针
  • 获取引用地址时,编译器会进行内部转换
    eg:
#include <iostream>
using namespace std;
int main()
{
   int num=108;
   int& r_num=num;
   r_num=110;
   cout<<&num<<"\t"<<&r_num<<endl;

    return 0;
}

等价于:

#include <iostream>
using namespace std;
int main()
{
   int num=108;
   int* r_num=&num;
   *r_num=110;
   cout<<&num<<"\t"<<r_num<<endl;

    return 0;
}

因为两者都是指针实现,引用的效率又比指针高,所以我们推荐使用引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值