引用概念与本质
引用的概念
引用变量是C++新增的复合类型。
引用是已定义的变量的别名。
引用的主要用途是用作函数的形参和返回值。
声明/创建引用的语法:
数据类型 &引用名=原变量名;
注意:
l 引用的数据类型要与原变量名的数据类型相同。
l 引用名和原变量名可以互换,它们值和内存单元是相同的。
l 必须在声明引用的时候初始化,初始化后不可改变。
l C和C++用&符号来指示/取变量的地址,C++给&符号赋予了另一种含义。
引用的本质
引用是指针常量的伪装。
引用是编译器提供的一个有用且安全的工具,去除了指针的一些缺点,禁止了部分不安全的操作。
变量是什么?变量就是一个在程序执行过程中可以改变的量。
换一个角度,变量是一块内存区域的名字,它代表了这块内存区域,当我们对变量进行修改的时候,会引起内存区域中内容的改变。
在计算机看来,内存区域根本就不存在什么名字,它仅有的标志就是它的地址,因此我们若想修改一块内存区域的内容,只有知道他的地址才能实现。
所谓的变量只不过是编译器给我们进行的一种抽象,让我们不必去了解更多的细节,降低我们的思维跨度而已。
程序员拥有引用,但编译器仅拥有指针(地址)。
引用的底层机制实际上是和指针一样的。不要相信有别名,不要认为引用可以节省一个指针的空间,因为这一切不会发生,编译器还是会把引用解释为指针。
引用和指针本质上没有区别。

浙公网安备 33010602011771号