c++中的引用与指针

2021/5/14 12:25:15

本文主要是介绍c++中的引用与指针,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

c++中的引用与指针

指针:

指针是c++最明显的特点,它的出现为语言的编写和内存的规划提供了很多的便利与优化。然而在我们学习c++的过程中,指针也是最难以被大部分人理解的内容,它难以上手,难以掌握难以理解。

如何理解指针:

试想一下,当你需要找一个人,你知道他的家在哪,你也在之前和他约定好,让他在他家里等你,那么找这个人的下一步很显而易见就应当是去这个人家里找他。

在c++与内存中,这个人就是我们要访问的数据,我们把他放到我们想要他在的目标内存块中,并且把这块内存块的地址记下来,指针就是对他地址的记录。

如果我们想找到这个人,就可以用指针去访问来得到地址,或者换句话说,指针变量所存储的是地址,其他变量存储的往往是变量或者内容,这是指针的特点。


引用:

引用是c++在发展中对指针的优化,更难理解了。但好处是弄明白后很好用

试想这样一个事情,我们还是用刚才的例子,我们找人,知道地址。这时我们发现,这个人的家的地址有两种说法,我们可以说他住在xx大学,也可以说他住在xx街道的xx号。这两个地址看起来不同,但实际上说的是一个地方。引用是实现的效果就是这样,为一个人提供两个访问的方式,比如:

int a=10;
int &b=a;
b++;
cout<<b;

这时候代码中的b是引用,简单理解来说可以被认为是a的“别名”,是a的另一种说法,对b的操作就是对a的操作,对a的操作就是对b的操作

引用的实质

引用的实质是一个指针常量,这个常量不可变并且会被写入全局变量。编译器会将上面 &的引用 自动转化为 int * const b=&a;并在之后每次检测到 b 时都转化为 *b;

并且由于引用是一个指针常量,所以他不可以被更改。

我们可以认为是对指针的一种优化,他让我们可以更高效的编写程序。



这篇关于c++中的引用与指针的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程