cpp notes 4 - 草稿

2023-03-31  本文已影响0人  loughsjtu

1. 引用的基本语法

数据类型 &别名=原名

别名和原名操控的是同一块内存,功能类似equivalence.

int a=10;

int &b=a;

int &c; //错误,引用必须初始化

int c=20;

int &b=c; //错误,引用一旦初始化,不可以更改引用.

2.引用的用途:引用做函数参数,可以实现形参修饰实参的作用。示例:

a.值传递

void myswap01(int a, int b)

{

temp=a;

a=b;

b=temp;

}

b.地址传递

void myswap02(int *a, int*b)

{

int temp=*a;

*a=*b;

*b=temp;

}

c. 引用传递

void myswap03(int &a, int &b)

{

int temp=a;

a=b;

b=temp;

}

int main(){

int a=10;

int b=20;

myswap01(a,b);

myswap02(*a,*b);

myswap03(a,b);

}

3. 引用做函数返回值

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

函数的引用可以作为左值

int& test02() //声明一个类型为引用的函数test02

{

static int a=10; //静态变量,存放在全局区,全局区的数据在程序结束后由系统释放

return a;

}

int &ref=test02(); //test02是一个类型为引用的变量,所以要声明一个类型为引用的变量ref去接收其数据。

cout <<ref<<endl; //会输出10

test02()=20; //函数的引用可以作为左值

cout <<ref<<endl; //会输出20,因为ref和test02()都是全局变量a的引用,都是指向同一处内存。

上一篇下一篇

猜你喜欢

热点阅读