【C++】引用详解——引用与指针的区别

1.引用概念

类型名& 引用变量名(对象名)=引用实体;

引用不是新定义一个变量,而是给已经存在的变量取一个别名,编译器不会为引用变量开辟空间,他和他的引用共用同一块内存

举例

注意:引用类型必须和引用实体是同种和类型的

void Test()
{
   
	int a = 10;
	int& ra = a;//ra就是a的引用
}

2.引用特点

  • 引用在定义时必须初始化
  • 一个变量可以有多个引用
  • 引用一旦引用了一个实体,变不能引用其他实体

举例

void Test()
{
   
	int a = 10;
	int b = 20;
	int& ra;//该语句是错误的,必须定义时就初始化
	int& ra = a;
	int& rra = a;//正确,一个变量可以有多个引用
	int& ra = b;//错误,引用一旦引用了一个实体,就不能再引用其他实体

3.常引用

void Test()
{
   
   const int a = 10;
   //int& ra = a;    该语句编译时会报错因为a被定义为const类型为常量,用一个普通类型的ra去引用a,ra代表可修改,a就不安全了
   const int& ra = a;//可以,即使引用了也不可以修改
   //int& b = 10;    //也会出错,b是常量
   const int& b = 10;//正确
   double d = 12.34;
   //int& rd = d;    该语句编译报错,引用类型必须和引用实体是同种类型
   const int& rd = d;//可以,const类型的引用不可修改,只会取d的整数部分
}

4.引用应用场景

1.做参数

//使用指针
void Swap(int *a, int *b)
{
   
    int temp = *a;
    *a = *b;
    *b = temp;
}
int main
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风铃奈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值