C++引用基本语法、用途及传递方式

引用:给变量起别名

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

int a=10;

int &b=a;

b=20;

cout<<a<<endl; //也是20

2、注意事项:

1)引用一定要初始化 int &b; //错误!

2)初始化成功后不可更改

3)引用传递与地址传递(形参会修饰实参)

引用传递:

void swap1(int &a, int &b){
int temp = a;
a = b;
b = temp;
}

地址传递:

void swap2(int *a,int *b)
int temp = *a;
*a = *b;
*b = temp;
int main(){
int a =10;
int b = 20;
swap1(a, b);
swap2(&a,&b)
return 0;
}

4、引用的本质:指针常量,指针指向的方向不可改变,值可以改变

5、常量引用

引用必须引一块合法的内存空间

int &ref = 10; //这样是不允许的,不能引用常量区
const int &ref = 10;//加上const编译器将代码修改,相当于 int temp = 10; const int &ref = temp;
加入const之后变为可读状态,不可修改

6、引用做返回值

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

局部变量存放在系统栈区,第一次运行正确,多次运行变量被释放掉,造成结果错误

2)如果函数返回为一个引用,则函数调用能作为左值传入,函数返回值结果为右值传入的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值