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

C++中引用与指针有什么区别

2013-10-12 15:46 691 查看
1、从内存分配方面来讲,系统为指针变量分配存储空间,而引用与绑定的变量共享内存空间,系统不另外为引用变量分配存储空间。指针是一个实体,而引用仅仅是另一个变量的别名。

int main(int argc, char *argv[])
{
int i	= 0;
int &r	= i;
int *p	= &i;

cout << "&i = " << &i << endl;
cout << "&r = " << &r << endl;
cout << "&p = " << &p << endl;

return 0;
}




2、引用必须初始化,而指针不必,指针可以在需要的时候进行赋值。

3、引用一旦初始化就不能再绑定到其他变量,而指针可以重新指向其他变量的地址。

4、引用不能指向空值(NULL),而指针可以指向空值(NULL)。

5、引用使用时不需要解引用(*),指针需要解引用。

6、“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身(所指向的变量或对象的地址)的大小。

7、引用和指针进行算术操作(赋值,自增/自减)的意义不同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 指针 引用