引用与指针的区别:
常常有人问引用与指针的区别,可能是指针和引用在功能上的相似,而是他们混淆这两个概念,
现在总结以下二者的区别,希望大家能彻底弄清这两个概念根本性的差别:
引用,一个变量的别名,为什么引入别名呢?原因是我们想定义一个变量,他共享另一个变量的
内存空间,使用别名无疑是一个好的选择。变量是什么?是一个内存空间的名字,如果我们给这个
内存空间在起另外一个名字,那就是能够共享这个内存了,引用(别名)的由此而来。
指针,指向另一个内存空间的变量,我们可以通过它来索引另一个内存空间的内容,本身有自己的
内存空间。
二者区别:(1)引用访问一个变量是直接访问,而指针是间接访问。
(2)引用是一个变量的别名,本身不单独分配自己的内存空间,而指针有自己的内存空间。
(3)引用在开始的时候就绑定到了一个内存空间(开始必须赋初值),所以他只能是这个
内存空间的名字,而不能改成其他的,当然可以改变这个内存空间的值.
例如
int i = 3,j = 4;
int &x = i;//成为i的别名
x = j;//不能否认x仍然引用i,并没有成为j的别名,只是修改了x和j共享的内存空间的值.
这点与指针不同,指针在任何时刻都可以改变自己的指向.
分享到:
相关推荐
### C++指针与引用详解 #### 指针与引用的基本概念 在C++中,指针和引用是两种非常重要的数据类型,它们都用于间接访问其他变量或对象。然而,它们之间存在显著的区别,了解这些差异对于有效、安全地使用C++语言至...
C++指针与引用的区别 指针和引用是C++语言中两种不同的概念,初学者容易把它们混淆一起。这两种概念都是地址的概念,但它们有很多不同的特点和应用场景。 相同点 1. 都是地址的概念;指针指向一块内存,它的内容...
C++中的指针和引用是两种非常重要的编程概念,它们都是用来间接访问内存中的对象,但有着本质的区别和各自的用途。 首先,指针是一个变量,它存储了一个内存地址,这个地址指向另一个对象。指针可以被赋值为NULL,...
在C++编程语言中,高阶指针和引用是两种重要的高级特性,它们极大地扩展了对内存和对象的操纵能力。本实验通过两个实例详细介绍了这两种概念及其在实际编程中的应用。 首先,我们来看第一个实例,它涉及到了二级...
在C++编程语言中,指针和引用是两种非常重要的概念,它们都允许我们间接访问内存中的对象。本文将深入探讨这两个主题,并通过实例来对比它们的使用方法和特性。 首先,指针是C++中的一种特殊类型,它存储的是一个...
在C++编程语言中,指针和引用是两种非常重要的概念,它们允许程序员对内存进行直接操作,提高代码的灵活性和效率。对于初学者来说,理解并熟练掌握这两个概念至关重要。 首先,我们来探讨指针。指针在C++中扮演着...
访问指针引用的内存区域 可以使用*pNumberOne访问some_number的值。这是因为星号表示解除指针的参照,应该读作“什么什么指向的内存区域”。 指针的陷阱 当函数退出时,局部变量将被删除,这意味着指针将指向原先的...
比较**指针与引用**,指针可以有NULL值,可以改变指向,而引用则不能。指针可以作为函数的可选参数,而引用必须总是引用某个对象。在实际编程中,选择使用指针还是引用通常取决于需求:如果需要动态绑定或者操作NULL...
C++指针练习题详解 本文将详细解释 C++ 指针练习题,包括选择题和填空题,涵盖了指针的基本概念、指针运算符、指针数组、字符串处理等多方面的知识点。 一、选择题 1. 选择题 1:对数组 a 的引用不正确的是() ...
本笔记将深入探讨C++指针的精髓,包括其基本概念、使用方法以及高级应用。 首先,我们要理解指针的基本原理。在C++中,指针是一个变量,它存储的是另一个变量的内存地址。当我们声明一个指针变量时,例如`int *p;`...
在C++编程语言中,指针和引用是两种非常关键的概念,它们都允许我们间接访问内存中的对象。然而,它们之间存在着本质的区别,理解和掌握这些差异对于编写高效、安全的代码至关重要。 首先,指针是一个变量,它存储...
本篇将详细阐述指针与引用的区别和联系,帮助你深入理解这两个核心概念。 首先,我们来看指针。指针是C++中的一个变量,它存储的是内存地址,即另一个变量的位置。通过指针,我们可以间接地访问和修改该地址所对应...
在 C++ 编程语言中,指针和引用是两个常用的概念,但是初学者容易混淆它们二者之间的区别。在本文中,我们将从概念、函数参数传递和编译角度来阐述指针和引用的区别。 概念上,指针是一个变量,它存放的是变量的...
总的来说,这份"C++指针资料集合"可能会包含这些主题的详细讲解,包括但不限于指针的声明、初始化、解引用、传递参数、动态内存管理、多级指针、指针与数组的关系、引用、指针运算以及智能指针等内容。通过深入学习...
### C++指针经典应用详解 #### 指针与数组的隐式转换 在C++中,指针与数组之间存在一种特殊的关联性。数组名实际上可以被视为指向该数组第一个元素的指针。这一点在代码片段中得到了体现: ```cpp char str[] = ...
"C++指针面试题经典"这个资源,很可能是针对C++开发者,特别是初级到中级水平的程序员设计的面试题集合,旨在测试和提升他们在指针方面的理解与应用能力。金山公司的面试题历来以深度和实用性著称,这些题目和解答...
根据提供的文件信息,标题与描述均为“C++指针方面的心得”,这表明文章将主要围绕C++语言中的指针概念及其使用技巧进行探讨。由于标签部分与内容并不相关,因此我们将忽略这部分信息,直接从标题和描述中提取并展开...
10. **面试题与笔试题实战**:通过CC++程序设计员.doc、c_c++指针详解.doc、C面试题.doc等文档,可以深入练习和理解上述知识点,提升在实际面试和笔试中的表现。 总的来说,这个资料包提供了全面的C/C++指针相关的...
其次,引用不能是NULL,总是与一个有效的对象关联,而指针可以是NULL,这提供了更多的灵活性,但也增加了潜在的陷阱。在函数调用中,如果使用指针作为参数,函数内部对指针的修改(如重新分配内存)不会影响到函数...