C++引用

引用的基本使用

作用:给变量起别名

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

例子:

1 int a=10;
2 int &b=a;

b和a占同一个内存地址(可以理解为使b具有a的地址)

对比指针:

int a=10;
int* p=&a;

  

a和p占不同的内存地址

引用的本质是指针常量(指针指向的地址不可以改变,值可以)int * const b=&a;

引用的注意事项

1.引用必须初始化(必须告诉是谁的别名)

2.引用一旦初始化后,就不可以更改了(引用不能脚踏两条船)

引用做函数参数

 1 #include <iostream>
 2 using namespace std;
 3  
 4 //交换函数
 5  
 6 //1.值传递
 7 void mySwap01(int a, int b)
 8 {
 9     int temp = a;
10     a = b; 
11     b = temp;
12 }
13  
14 //2.地址传递
15 void mySwap02(int* a, int* b)
16 {
17     int temp = *a;
18     *a = *b;
19     *b = temp;
20 }
21  
22 //3.引用
23 void mySwap03(int& a, int& b)
24 {
25     int temp = a;
26     a = b;
27     b = temp;
28 }
29  
30 int main()
31 {
32     int a = 10;
33     int b = 20;
34  
35     //mySwap01(a, b); //值传递,形参不会修饰实参
36     //mySwap02(&a, &b);//地址传递,形参会修饰实参
37     mySwap03(a, b); //引用传递,形参会修饰实参
38     cout << "a=" << a << endl;
39     cout << "b=" << b << endl;
40  
41     system("pause");
42     return 0;
43 }

引用做函数返回值

1.不要返回局部变量的引用

//这段代码是错误的
int& fun()
{
    int a=10;
    return a;
}
 
//这段代码是正确的
int& fun()
{
    static int a=10;
    return a;
}

  2.函数的调用可以作为左值

fun()=1000;

3.常量引用(const修饰的引用)作为函数参数可以防止误操作,和值传递作用类似,但可以节省内存

 
posted @ 2023-01-22 19:57  永生辉皇  阅读(49)  评论(0)    收藏  举报