C++Reference(引用)

本文深入探讨了C++中引用的概念及用法,包括引用的基本特性、如何正确初始化引用、引用作为函数参数时的作用机制,并通过实例展示了引用在交换变量值等应用场景中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,引用并非对象,只是一个已经存在的对象起的别名
2,引用只能绑定在对象上,不能与字面值或某个表达式的结果绑定在一起
int &ref_value = 10;  //wrong
3,引用必须初始化,所以引用之前不需要测试其有效值,因此使用引用·可能会比使用指针效率高。
4,将引用变量作参数时,函数将使用原始数据,而非副本
4,,如果想要引用指向常量需:
const double& ref = 100;
int int_value = 1024;
//refValue指向int_value, 是int_value的另一个名字
int& refValue = int_value;
//Wrong:引用需被初始化
int& refValue2;
示例:
int num = 100;
int& ref_num = num;
ref_num = 118;
cout << &num << '\t' << &ref_num << endl;
//使用引用传参
void Swap1(int, int);
void Swap2(int*, int*);
void Swap3(int&, int&);
void Swap1(int num1, int num2)
{
    int temp;
    temp = num1;
    num1 = num2;
    num2 = temp;
}
void Swap2(int* p1, int* p2)
{
    int temp;
    temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}
void Swap3(int& ref1, int& ref2)
{
    int temp;
    temp = ref1;
    ref1 = ref2;
    ref2 = temp;
}
int main()
{
    SetConsoleTitle("My class note");
    int num1 = 10, num2 = 5;
    Swap1(num1, num2);
    cout << "Swap1:" << num1 << '\t' << num2 << endl;
    Swap2(&num1, &num2);
    cout << "Swap2:" << num1 << '\t' << num2 << endl;
    Swap3(num1, num2);
    cout << "Swap3:" << num1 << '\t' << num2 << endl;
 return 0;
}
函数返回引用类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值