0
点赞
收藏
分享

微信扫一扫

C++初学-引用(取别名)

舟海君 2022-01-27 阅读 40

变量引用

之前在C学的的指针,需要定义一个指针变量,且最好要初始化,不让可能成为野指针,而在C++这里初学的一个引用:

int a=10;//定义一个整型a
int &b=a;//引用操作或者叫取别名

学过指针的小伙伴应该理解,b相当于一个指向a的指针变量,可以操作变量a所在地址的值,

但是需要注意不能单独定义b,必须初始化,且初始化后不能改变b的指向了,相当于

int *const b=&a; 即b的指向不可以变,而其指向的内容可以变化,引用本质上就是指针常量。

int &b;//错误

函数引用

学C的时候在函数调用的时候我们习惯性用指针,比如

void swp(int *a,int *b)
{
    
    int temp=*a;
    *a=*b;
    *b=*temp;
}//定义函数

int main()
{
    int a = 10;
    int b = 20;
    str(&a,&b);//函数参数址传递
    return 0;
}

这是标准的函数参数址传递(值传递就不罗嗦了)。

而C++中的引用则比较类似,用起来简单方便,还与C中的址传递效果一样

void str(int &a,int &b)
{
    int temp=a;
    a=b;
    b=temp;
}//定义函数

int main()
{
    int a = 10;
    int b = 20;
    str(a,b);//函数参数引用
    return 0;
}

是不是和址传递比较像,使用起来少了很多*****符号。

  • 注意

举报

相关推荐

0 条评论