C++学习笔记(01)——引用

文章介绍了C++中的引用概念,包括其声明方式、作用以及与指针的对比。引用作为已定义变量的别名,主要用于函数参数传递,允许修改实参的值。文中还讨论了不同情况下使用引用、指针或值传递的策略,如根据是否修改实参和数据类型选择合适的方法。
摘要由CSDN通过智能技术生成

C++学习笔记

对B站up码农论坛C++学习笔记,如有我的思路存在错误请指出,感谢不尽。

引用的学习

引用的使用方法

声明引用的语法 数据类型 &引用名 = 原变量名
引用是已定义的变量的别名,主要用途是用作函数形参和返回值,在程序中可以互换,用谁都一样

int a = 3;
int& ra = a; // a的引用

注意事项

  1. 引用数据类型与原变量名的数据类型相同
  2. 引用名和变量名可以互换,他们的值与内存单元是相同的
  3. 必须在声明引用时初始化,初始化后不可改变

引用的本质

本质是指针常量:同样不可修改指向目标,必须在定义时初始化。

// 三个变量共享一块内存
int a = 3;
int& ra = a; 		// a的引用
int* const pa = &a; // a的指针常量

作为参数传递进函数时,传引用与传指针相同,会改变变量的值

各种形参的使用场景

1) 不需要再函数中修改实参

  • 如果实参很小,如内置数据类型或小型结构体,则按值传递(直接传值,反正也不需要修改,类似于传size进去)
  • 如果实参是数组,则使用const 指针,因为这是唯一的选择 (数组没有引用的说法,只能传指针)
  • 如果实参是较大的结构,则使用 const 指针或const 引用。C
  • 数据实参是类,则使用const 引用,传递类的标准方式是按引用传递

2) 需要再函数中修改实参

  • 如果实参是内置数据类型,则使用指针。只要看到 func(&x)的调用,表示函数将修改X。
  • 如果实参是数组,则只能使用指针。
  • 如果实参是结构体,则使用指针或引用。
  • 如果实参是类,则使用引用。
int a = 0;
fun(a); // 不修改a
fun(&a) // 修改a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值