C++引用和指针的本质差别

来源:互联网 发布:evisu淘宝正品店 编辑:程序博客网 时间:2024/04/29 17:36

  以下所讨论,都是C++中的概念.

  编译代码的时候,在符号表中,引用的地址是引用的变量的地址,指针的地址,是指针自身的地址.也就是说,引用本质上是不存在的,而指针是确实存在的.

int a = 1 ;int & reference = a ;int * pointer = &a ;

符号表变量名地址a0x0000reference0x0000pointer0x0004





概念上讲是一个相对地址,reference的地址是a变量的地址,pointer的地址是自身的地址.也就是说,引用的存在只是方便代码的编写,并且生成的汇编代码中不会为引用分配内存空间,而是直接引用所引用变量的地址进而使用引用的变量.杨晓东同志果然是高手,这些感触都是在请教他之后写下的,十分感谢他的热心解答.准备去吃饭了.吼吼`~