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 对象绑定。

猜你喜欢

转载自blog.csdn.net/hsl416604093/article/details/83586041