C++学习笔记 (四) ---- 引用

引用算是对 C语言的又一个扩充,可以看作是数据的一个别名,定义方式类似于指针,只是用 & 取代了 

指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。

而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。

 

格式: type &name = data;

type 是被引用的数据的类型,name 是引用的名称,data 是被引用的数据。引用必须在定义的同时初始化,以后不能再引用其它数据,这有点类似于常量(const 变量)。

#include <iostream>
using namespace std;

int main(){
    int a = 8;
    int &b = a;
    cout<<a<<", "<<b<<endl;
    cout<<&a<<", "<<&b<<endl;

    return 0;
}

注意:应用在定义时使用 &,使用时不能加 &,加 & 代表取地址。这和指针相反。

引用不能绑定到临时数据;引用作为函数的返回值时,不能返回局部变量的引用。

const 引用只能读,与绑定的对象是否是 const 无关。

非 const 引用可读可写,只可与非 const 对象绑定。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

MacLodge

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

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

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

打赏作者

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

抵扣说明:

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

余额充值