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