关于引用

1.引用的概念及用法

    类型&  引用变量名=已定义过的变量名    

    例:int&  b = a;

    引用的特点:①一个变量可以取多个别名②应用只能在初始化时引用一次,不能改变为其他变量。

    例:int a=10;

           int&  b=a;//b是a的别名

           int i=100;

            b=i;//此步仅为赋值

    const引用:const int a=10;    const int&b=a;    const int&c=20;

2.引用做参数

    int d=10;

    double e=d;

    const double& f=d;


    修改的权限可以缩小,但不能放大

    void swap(int& l,int& r)

    {

        int tmp=l;    l=r;    r=tmp;

    }

    swap(l,r);

3.引用做返回值

    int& add(int a,int b)

    {

        int c=a+b;    return c;

    }

    int& ret=add(1,2);

    cout<<ret<<endl;

4.传值返回

int add(int a,int b)

{

int c=a+b;    return c;

}

const int& ret=add(1,2);

cout<<ret<<endl;

5.引用和指针的区别   

    int& ret=add(1,2);

    //add(10,20);

    ①不要返回一个临时变量的引用,出了作用域则不存在了。

    ②出了作用域对象或变量存在,尽量使用引用,可以节省空间(静态、全局)

    ③sizeof引用得到的是所指向的变量的大小,而sizeof指针是对象地址的大小

    ④指针和引用自增(++)和自减(--)意义不一样

    ⑤引用必须指向有效的变量 ,指针可以为空

    ⑥引用比指针更安全,但指针比引用更灵活               

猜你喜欢

转载自blog.csdn.net/qq_40408483/article/details/79545217