ITPub博客

首页 > Linux操作系统 > Linux操作系统 > C++引用10分钟入门教程

C++引用10分钟入门教程

原创 Linux操作系统 作者:huitailangseo 时间:2022-08-09 14:31:09 0 删除 编辑

我们知道,参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。所谓内存拷贝,是指将一块内存上的数据复制到另一块内存上。

对于像 char、bool、int、float 等基本类型的数据,它们占用的内存往往只有几个字节,对它们进行内存拷贝非常快速。而数组、结构体、对象是一系列数据的集合,数据的数量没有限制,可能很少,也可能成千上万,对它们进行频繁的内存拷贝可能会消耗很多时间,拖慢程序的执行效率。

C/ C++  禁止在函数调用时直接传递数组的内容,而是强制传递数组 指针 ,这点已在《 C语言指针变量作为函数参数 》中进行了讲解。而对于结构体和对象没有这种限制,调用函数时既可以传递指针,也可以直接传递内容;为了提高效率,我曾建议传递指针,这样做在大部分情况下并没有什么不妥,读者可以点击《 C语言结构体指针 》进行回顾。

但是在 C++ 中,我们有了一种比指针更加便捷的传递聚合类型数据的方式,那就是 引用(Reference) 。

在 C/C++ 中,我们将 char、int、float 等由语言本身支持的类型称为基本类型,将数组、结构体、类(对象)等由基本类型组合而成的类型称为聚合类型(在讲解结构体时也曾使用复杂类型、构造类型这两种说法)。

引用(Reference)是 C++ 相对于C语言的又一个扩充。 引用可以看做是数据的一个别名,通过这个别名和原来的名字都能够找到这份数据。 引用类似于 Windows 中的快捷方式,一个可执行程序可以有多个快捷方式,通过这些快捷方式和可执行程序本身都能够运行程序;引用还类似于人的绰号(笔名),使用绰号(笔名)和本名都能表示一个人。

引用的定义方式类似于指针,只是用 & 取代了 * ,语法格式为:

type &name = data;

type 是被引用的数据的类型,name 是引用的名称,data 是被引用的数据。 引用必须在定义的同时初始化,并且以后也要从一而终,不能再引用其它数据,这有点类似于常量(const 变量)。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70020777/viewspace-2909626/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-08-06

  • 博文量
    15
  • 访问量
    5406