想写这篇博文的起因是某天突然有人问我,你知道C++中指针和引用有什么差别吗,我就按照我所以知道的叽里呱啦的讲了一堆(其实也就是随便拿本C++书都有说的那些),我讲完后对方得意地说你没讲到重点,重点是引用要比指针快得多。我一听傻了,说实话我从来没想过这个问题,既然有人说了,那就自己动手来看看,真实的情况是什么样的。
环境:VS2008
通过反复的运行这段程序的结果看,两种调用方式的运行速度没有什么差异,基本一致。既然他们的运行速度基本一致,那么让我们来看看他们的汇编实现是否有什么差异。
首先,我们来看看void Point(int *p);的汇编代码:

本文作者通过对比C++中指针和引用的运行时间,以及查看其对应的汇编代码,发现两者在实际运行速度上并无显著差异。实验使用VS2008编译器进行,涉及函数调用和循环操作。尽管汇编代码显示它们的实现方式相同,但仍有疑问是否其他编译器会有不同结果。后续使用QT编译器进行相同实验,结果仍然一致。
最低0.47元/天 解锁文章
74

被折叠的 条评论
为什么被折叠?



