C++ 引用 的详解

引用 :

1.变量名实质上就是一段连续存储空间的别名,通过变量名来申请并命名内存空间,
  通过变量的名字可以使用存储空间;
  而引用也可以看做又给存储空间存储空间起了一名字,好比一个人有两个名字一样,
  无论喊哪一个,都是指一个人;


2.引用语法  “数据类型”+“&”=被引用变量


3. 引用的规则


3.1引用没有定义,是一种关系型声明。声明它和原有某一变量(实体)的关
系。故 而类型与原类型保持一致,且不分配内存。与被引用的变量有相同的地址。
3.2 声明的时候必须初始化,一经声明,不可变更。
3.3 可对引用,再次引用。多次引用的结果,是某一变量具有多个别名。
3.4 &符号前有数据类型时,是引用。其它皆为取地址。






#include <iostream>


using namespace std;


int main ()
{
    int a=1,b=2;


    int &r=a;
    int &r=b; //错误,不可更改原有的引⽤用关系
    int &ra=r; //可对引⽤用更次引⽤用,表⽰示  a  变量有两个别名,分别是  r  和  ra


    float &rr=a;//错误,引⽤用类型不匹配


    cout <<"a的地址"<<&a<<endl;
    cout <<"r的地址"<<&r<<endl;
    cout <<"ra的地址"<<&ra     //变量与引⽤用具有相同的地址。

}


4.引用作为函数参数


4.1 普通引用在声明时必须用其它的变量进行初始化,引用作为函数参数声明时不进行初始化
4.2 引用作为其它变量的别名而存在,因此在一些场合可以代替指针
      引用相对于指针来说具有更好的可读性和实用性 ,c++中引入引用后,可以用引用解决的问题。避免用指针来解决。

 
 
 例题   交换数值
    #include<iostream>

    using namespace std;


    void swaps(int &c,int &d)   //做函数参数不用进行初始化
    {
        int e;
        e=c;
        c=d;
        d=e;
    }
    int main ()
    {

        int a=1,b=2;
        swaps(a,b);
        cout << "a="<<a<<endl;
        cout << "b="<<b<<endl;
        return 0;

    }

猜你喜欢

转载自blog.csdn.net/qq_41199502/article/details/80301108