您的位置:首页 > 编程语言 > C语言/C++

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

2012-12-12 17:03 162 查看
以下所讨论,都是C++中的概念.

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

int a = 1 ;

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


符号表

变量名地址
a0x0000
reference0x0000
pointer0x0004
概念上讲是一个相对地址,reference的地址是a变量的地址,pointer的地址是自身的地址.也就是说,引用的存在只是方便代码的编写,并且生成的汇编代码中不会为引用分配内存空间,而是直接引用所引用变量的地址进而使用引用的变量.杨晓东同志果然是高手,这些感触都是在请教他之后写下的,十分感谢他的热心解答.准备去吃饭了.吼吼`~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: