C++ 引用

1.引用基本使用

       作用:给变量起别名

       语法数据类型 &别名 = 原名

2.引用注意事项

       ①引用必须初始化

       ②引用再初始后,不可改变

int main()
{
    int a = 10;
    int b = 20;
    //int &c      //错误,引用必须初始化
    int &c = a;   //一旦初始化后,就不可以更改 
    c = b;        //赋值操作,非更改引用

    //注:输出 a、b、c 值都为20
    count << "a = " << a << endl;
    count << "b = " << b << endl;
    count << "c = " << c << endl;
   
    system("pause");
    return 0;

}

3.引用做函数参数

作用:函数传参时,可以利用引用的技术让形参修饰实参

优点:可以简化指针修改实参

//1.值传递
void swapA(int a,int b)
{
    int tmp = a;
    a = b;
    b = tmp;
}
//2.地址传递
void swapB(int *a,int *b)
{
    int tmp = *a;
    *a = *b;
    *b = tmp;
}
//3.引用传递
void swapC(int &a,int &b)
{
    int tmp = a;
    a = b;
    b = tmp;
}

int main()
{
    int a = 10;
    int b = 20;

    //swapA(a,b);      //值传递,形参不会修饰实参
    //swapB(&a,&b);    //地址传递,形参会修饰实参
    swapC(a,b);        //引用传递,形参会修饰实参

    system("pause");
    return 0;
}

4.引用做函数的返回值

作用:引用时可以作为函数的返回值存在

注意不要返回局部变量引用

用法:函数调用作为左值(返回静态变量引用,再赋值后静态变量被修改)

int& test()
{
    static int a = 20;
    return a;
}

int main()
{
    int& ref = test();
    cout << "ref = " << ref << endl;    //ref = 20

    test() = 10086;        //如果函数返回值时引用,这个函数调用可以作为左值
    cout << "ref = " << ref << endl;    //ref = 10086

}

5.引用的本质

本质:在C++内部实现是一个指针常量

6.常量引用

       作用:常量引用主要用来修饰形参,防止误操作

       在函数形参列表中,可以加const修饰形参,防止形参改变实参(只读)

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页