C++ 引用 相关概念

前言

本文介绍 C++ 中 引用 的概念,引用 的定义和用法。

引用的概念

首先记住几个基本概念:

  1. 在 C++ 中可以给变量取别名,这个 “别名” 就称为这个变量的引用。
  2. 引用变量在定义的时候就要初始化 (也就是要给初始值),一旦初始化后不得再做为其它变量的别名。
  3. 引用变量的初始化值不能是常量。
  4. ”引用“ 本身没有地址,”引用“ 与被绑定的变量共用内存地址
  5. 对引用的操作就是对被引用的变量的操作

引用的定义方式

还需记住引用的定义方式:

数据类型 & 引用名称 = 原始变量名;

eg:
int a = 10;
int &x = a;  // 通过引用的方式创建了一个整型引用 x,并将其绑定到变量 a 上

x 就是变量 a 的引用,也就是 a 的别名,x 和 a 共用一个内存空间,操作 x 就是在操作 a 。

引用 的作用

引用 的作用主要是作为函数的参数,或函数返回值

案例1:引用 作为函数参数

#include <iostream>

void add(int &x){
        x += 1;
}

int main() {

        int a = 10;

        add(a);
        std::cout << "a = " << a << std::endl;

        return 0;
}

在这里插入图片描述

可以看到 a 的值都被改了。
传入一个 引用,实现了和传入指针一样的效果。

案例2:引用 做函数返回值

#include <iostream>

int g_num = 100;

int & get_ref() {

        return g_num;  // 返回全局变量 g_num 的引用
}

int main() {

        get_ref() = 11;  // 修改全局变量的值,因为返回了引用
        std::cout << "g_num = " << g_num << std::endl;

        return 0;
}

在这里插入图片描述

将引用作为函数的返回值具有几个优点和用途:

  • 避免复制开销:返回引用可以避免在函数调用过程中发生对象的拷贝,尤其是当返回的对象很大时,这样可以提高程序的效率。

  • 允许对返回值进行修改:通过返回引用,可以直接对函数返回的变量进行修改,这种方式更加直接和高效。【注意,不能返回存放在 栈区 的变量

  • 实现链式操作:返回引用可以实现链式操作,即多个函数调用可以连接在一起,形成连续的调用链。这种方式通常用于某些库或框架中。

  • 返回引用可作为左值:返回引用的函数返回值可以作为左值,可以被赋值给其他变量,从而允许进一步的修改或处理。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值