`
shaxquan
  • 浏览: 14548 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

指针和引用的差别

    博客分类:
  • C++
 
阅读更多

纯当给自己复习了,总结一下:

1. 非空区别

任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。如果使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这是应该把该变量声明为指针,因为这样可以赋空值给该变量。不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针要高。

2.合法性区别

在使用引用之前不需要测试它的合法性。相反, 指针则应该总是被测试,防止其为空。

3.可修改性区别

指针与引用的另一个重要的不同是指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变,但是指定的对象其内容可以改变。

4.应用区别

一般而言,在以下情况下应该使用指针: 

1)考虑到存在不指向任何对象的可能。

2)需要能够在不同的时刻指向不同的对象。

分享到:
评论

相关推荐

    C++指针与引用的区别

    C++指针与引用的区别 指针和引用是C++语言中两种不同的概念,初学者容易把它们混淆一起。这两种概念都是地址的概念,但它们有很多不同的特点和应用场景。 相同点 1. 都是地址的概念;指针指向一块内存,它的内容...

    C++重要的谨记指针和引用的区别

    在C++编程语言中,指针和引用是两种非常关键的概念,它们都允许我们间接访问内存中的对象。然而,它们之间存在着本质的区别,理解和掌握这些差异对于编写高效、安全的代码至关重要。 首先,指针是一个变量,它存储...

    指针和引用的区别

    ### 指针和引用的区别详解 #### 一、引言 在计算机编程尤其是C++中,指针和引用是非常重要的概念。它们都是用来处理内存地址的重要工具,但两者之间存在本质的区别。本文将深入探讨指针和引用的区别,帮助读者更好...

    指针传递和引用传递的区别

    如果想要通过指针参数改变主调函数中的变量,需要使用指向指针的指针或指针引用。 引用传递参数则有所不同,虽然引用在函数内部也是一个局部变量,但它存储的是原始变量的地址。因此,对引用参数的任何操作都会直接...

    **p与 *&p的区别, 即指向指针的指针和引用指针变量的区别

    在C语言中,**p与*&p是两个常见的指针操作表达式,它们分别涉及到指向指针的指针和引用指针变量的概念。理解这两者的区别,有助于更准确地掌握指针的操作和内存管理。 首先,我们需要明确**p的含义。当声明一个指针...

    C++指针与引用

    此时,使用指针引用就显得尤为重要了。 例如,如果我们想要在函数`func1`中更新`pMyClass`所指向的对象,而不只是修改`pMyClass`本身的值,我们可以这样声明函数: ```cpp void func1(MYCLASS*& pMyClass) { ...

    c++中指针和引用的区别

    指针和引用的区别 在 C++ 编程语言中,指针和引用是两个常用的概念,但是初学者容易混淆它们二者之间的区别。在本文中,我们将从概念、函数参数传递和编译角度来阐述指针和引用的区别。 概念上,指针是一个变量,...

    指针和引用

    ### 引用与指针的区别 1. **初始化**:引用在声明时必须初始化,而指针可以在任何时候初始化。 2. **可变性**:引用初始化后不能改变其指向的对象;指针可以在程序运行期间重新指向其他对象。 3. **空值**:引用不...

    智能指针与引用计数详解

    - 解引用运算符(`*`和`->`),使得智能指针可以像普通指针一样使用。 此外,可能还会包含一些额外的辅助函数,如检查对象是否为空,获取引用计数值等。通过阅读和理解这个demo,开发者可以深入理解智能指针的工作...

    指针和引用的相同点和不同点的总结.pdf

    ### 指针和引用的相同点和不同点的总结 #### 相同点: - **地址的概念**:无论是指针还是引用,在C++中都与内存地址有关联。它们都可以用来表示或访问内存中的数据。 #### 不同点: 1. **实体与别名**: - **...

    c++指针和引用的使用浅谈

    在C++编程语言中,指针和引用是两种非常重要的概念,它们都允许我们间接访问内存中的对象。本文将深入探讨这两个主题,并通过实例来...通过实际编程练习和分析,我们可以更好地掌握它们的区别和用法,提升编程技能。

    C++引用&和指针在作为形参时的区别

    在C++中,引用(reference)和指针都是用来间接访问其他对象的工具,但它们在使用和行为上有显著的差异。引用的概念是C++特有的,而指针在C和C++中都存在。理解这两种机制的区别对于编写高质量的C++代码至关重要。 ...

    c++指针和引用

    在C++编程语言中,指针和引用是两种非常重要的概念,它们允许程序员对内存进行直接操作,提高代码的灵活性和效率。对于初学者来说,理解并熟练掌握这两个概念至关重要。 首先,我们来探讨指针。指针在C++中扮演着...

    善于使用指针与引用

    通过理解内存地址的概念,熟悉指针变量的定义和操作,以及指针与引用的区别,开发者可以编写出更高效、更灵活的代码,解决复杂的问题。在实际编程中,合理运用指针能够显著提升程序性能,但同时也需要谨慎处理,避免...

    值传递,指针传递,引用传递的区别,内含可运行代码和详细解释

    另一方面,值传递由于形参和实参内存地址不一样,有些功能并不能实现(swap()),因此,除了极为简单的函数会使用值传递外,大多数会采用引用传递。而对于指针传递,则在涉及数组的情况下使用较多,因为指针本身会给...

    使用指针和引用处理虚函数实例

    在C++编程语言中,指针和引用是两种非常重要的概念,它们经常被用来处理对象间的交互,尤其是在涉及多态性(polymorphism)时,如虚函数的应用。本实例“使用指针和引用处理虚函数实例”着重探讨了如何通过这两种...

    C++指针和引用

    在C++编程语言中,指针和引用是两种非常重要的概念,它们都允许我们间接访问内存中的对象。本文将深入探讨这两个主题,旨在为初学者提供一个清晰的理解基础。 首先,我们来了解一下**指针**。指针是C++中的一种特殊...

    C++对象和指针的引用

    对象指针和对象引用作函数的参数 1. 对象指针作函数的参数 使用对象指针作为函数参数要经使用对象作函数参数更普遍一些。因为使用对象指针作函数参数有如下两点好处: (1) 实现传址调用。可在被调用函数中改变...

    导图_指针与引用

    本篇将详细阐述指针与引用的区别和联系,帮助你深入理解这两个核心概念。 首先,我们来看指针。指针是C++中的一个变量,它存储的是内存地址,即另一个变量的位置。通过指针,我们可以间接地访问和修改该地址所对应...

Global site tag (gtag.js) - Google Analytics