QT学习C++(3)

引用(重点)

C/C++中指针作用是一样的,但C++提供了另一种给函数传递地址的途径(按引用传递),给已有的变量取别名。

语法:&和别名结合 表示引用;给某个变量取别名就定义某个变量;从上往下替换

int num = 100;
int &a = num;//此处&不是取地址,是标明a是引用变量(a是num的别名)

注意:

  • 别名的类型应与取别名对象的类型对应
  • 引用必须初始化,引用一旦初始化就不能再次修改别名
int num = 100;
int &a = num;//此处&不是取地址,是标明a是引用变量(a是num的别名)

int data = 20;
a = data;//不是将data别名为a,而是将data值赋值给a(a还是num的别名)

引用作用于数组

1、

int arr[5] = [1, 2, 3, 4, 5];
int (&my_arr)[5] = arr; //my_arr是数组arr的别名

2、用typedef给数组类型取别名

 引用和函数的关系

作为函数的参数

常用交换操作

 

 原因:只是形参的交换,变量的值赋值给a和b,a和b交换了,和data1、data2无关

使用地址可以交换成功

 

 使用引用交换

 

 作为函数的返回值

 因为num是局部变量,函数结束后就释放了,因此引用为空。

 用static改为静态就可访问,num不会被释放

 当函数为左值时函数的返回值类型必须是引用

 (静态变量只会被定义一次,因此第二次赋值时 static int num = 10 无效了)

引用的本质是常量指针

指针的引用

C语言的方式

 引用的方式

常引用const type &a=b 

1、引导出常引用

 2、常量的引用(给常量取别名)

//给常量取别名
int &num = 10; // 错误
const int &num = 10;//正确

注:本文档仅学习总结

QT学习C++(2)_爱吃糖葫芦的大熊的博客-CSDN博客

QT学习C++(4)_爱吃糖葫芦的大熊的博客-CSDN博客 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值