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

【C++】指针与引用的区别

2014-03-14 11:12 225 查看
1. 非空区别。在任何情况下都不能使用指向空值的引用。 一个引用必须指向某些对象。比如说说下面的程序为错误的。

int &a; // error

指针可以指向一个空的变量。

int *p; // correct

int *pp = NULL; // correct

2. 合法性区别。在使用引用之前不需要测试其合法性。相反,指针则应总被测试,防止其为空。

3. 可修改区别。指针可以被重新赋值指向另一个对象,但是引用则总是指向在初始化时被指向的对象,以后不能被改变。

4. 引用区别。总的来说,在以下情况下你应该使用指针,一是考虑到存在不指向任何对象的可能,而是你需要再不同的时刻指向不同的对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: