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

C++中指针和引用的区别

2011-10-22 15:25 141 查看
相同点:
1. 都是地址的概念;

区别:
A.
从现象上看:指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变。

B. 从内存分配上看:程序为指针变量分配内存区域,而引用不分配内存区域
C.
从编译上看:程序在编译时分别将指针和引用添加到符号表上,符号表上记录的是变量名及变量所对应地址。指针变量在符号表上对应的地址值为指针变量的地址
值,而引用在符号表上对应的地址值为引用对象的地址值。符号表生成后就不会再改,因此指针可以改变指向的对象(指针变量中的值可以改),而引用对象不能
改。

1. 指针是一个实体,而引用仅是个别名。
2. 指针指向一块内存,它的内容是所指内存的地址;而引用是某块内存的别名。
3. 引用只能在定义时被初始化一次,之后不可变;指针可变。
4. 引用不能为空,指针可以为空。
5. “sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: