首先提出两个问题:指针和引用之间有什么区别?什么时候应该使用指针?什么时候应该使用引用? 01指针与引用之间的区别首先看一段代码:int a = 1; int b = 2; int * c = nullptr; c =& amp; a; int& d = b;指针实际上是一个存储内存地址的整数。该整数表示所指向的变量的地址。引用实际上是变量的别名,即为变量指定了新名称。注意,由于引用是别名,因此它必须具有本体。一个人叫王二霄。我们还可以给它起一个别名为Erdan的别名。对于二丹和王二霄实际上是同一个人。区别:指针在声明时可以暂时不初始化,即,pointer = nullptr。指针在其生命周期中的任何时候都可能是空指针,因此每次使用该指针时都要进行检查,以防止出现空指针异常问题,但是引用不是必需的,因为引用永远不会为空,因此必须对其进行检查有一个本体,它必须表示一个对象,并且在创建引用时必须对其进行初始化。 void FuncPtr(int * ptr){if(ptr!= nullptr){cout& lt;& lt; * ptr; }} void FuncReference(int& ref){cout& lt;& lt;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针;指针; ref;}它始终指向其最初表示的对象。再举一个例子,有一个叫特朗普的人,给他起了一个昵称,称其为历史上最愚蠢的总统。此报价将始终结束。也就是说,无论何时,历史上最愚蠢的总统一定是特朗普。美国总统可以用作指针。一段时间可以是奥巴马,一段时间可以是特朗普,一段时间可以是nullptr。 02指针和引用的使用场景引用的主要功能是用作函数参数和返回值。看一段代码:struct A {int a;}; void func(const A& amp; a){cout& lt;& lt; aa;} vector& lt; int& gt; vec(10); vec [3] = 3;为什么矢量容器的值可以通过vec [3] = 3更改,因为[]运算符返回一个引用,该引用等效于内部Alias的变量,在这里您还可以让[]运算符返回一个指针,即* vec [3] = 3,这有点丑陋,不符合语法要求。实际上,我们可能已经在通常的编程过程中注意到,实际上,指针可以完成所有可以引用的操作,但是为什么我们需要引用该东西呢?可以。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。#########答:使用正确的工具来完成正确的工作。指针可以不受限制地操纵存储器中的任何内容。该功能非常强大,但同时也非常危险。因此,您可以在正确的时间使用参考。当您需要指向某个事物时,它必须是特定的,并且永远不要让它指向其他事物。例如,某些函数参数可以使用引用以避免复制,或者实现一个指针不能满足其语法要求的运算符。例如,vec [3] = 3,可以使用reference,在所有其他情况下,都必须使用指针。引用c ++ 11之后,实际上有很多知识点。有关详细信息,请参阅我以前的文章:左值引用,右值引用,移动语义,完美转发,所有您知道和不知道的内容都在参考文献“更有效的C ++”中,网址为Https://www.runoob.com /w3cnote/cpp-difference-between-pointers-and-references.html https://blog.csdn.net/weikangc/article/details/49762929 https://www.jianshu .com / p / e548a978d737 https:// zhuanlan.zhihu.com/p/63096392本文授权转载自公共帐户“ Master Program Meow”,作者Master Program Meow-END-推荐读物[01]我们是否应该放弃单芯片的道路微型计算机和嵌入式? [02]接口适配器模式的C语言实现,通常用于单片机[03]单片机编程:如何养活狗的灵魂,遭受折磨,看门狗那些事! [04] MCU学习笔记,教你三个步骤! [05]来看看您的MCU程序有多大!