【C/C++】指针与引用的区别
2016-09-09 19:59
363 查看
引用是C++对C语言的扩展,引用可以理解为变量的一个别名,所谓别名就是人还是同一个人,只是多了一个名字而已,对变量也是如此。
如:
int a = 10;
int &b = a;这里b就是变量a的一个别名,他们代表的内存地址是完全相同的,注意这里b不是指针,c++没有规定引用的底层实现,所以编译器实现引用时,可以为引用分配空间,也可以不分配空间。
引用与应用的主要区别有以下三点:
1.在任何情况下都不能使用指向空值的引用。也就是所存在空指针,但不存在空引用,一个引用必须总是指向某个对象的,这个对象是一开始就必须指定了的。
2.引用由于不存在空引用,所以使用引用之前不需要测试它的合法性,而指针则应该总被测试,防止其为空。
3.指针可以被重新赋值以指向另一个不用的对象,而引用则总是指向在初始化时被指定的对象,以后不能改变(指定的对象的内容可以改变)。
如:
int a = 10;
int &b = a;这里b就是变量a的一个别名,他们代表的内存地址是完全相同的,注意这里b不是指针,c++没有规定引用的底层实现,所以编译器实现引用时,可以为引用分配空间,也可以不分配空间。
引用与应用的主要区别有以下三点:
1.在任何情况下都不能使用指向空值的引用。也就是所存在空指针,但不存在空引用,一个引用必须总是指向某个对象的,这个对象是一开始就必须指定了的。
2.引用由于不存在空引用,所以使用引用之前不需要测试它的合法性,而指针则应该总被测试,防止其为空。
3.指针可以被重新赋值以指向另一个不用的对象,而引用则总是指向在初始化时被指定的对象,以后不能改变(指定的对象的内容可以改变)。
相关文章推荐
- 指针与引用的区别c++
- C++ 指针与引用的区别
- C++中指针和引用的区别
- c++中引用和指针的区别
- [More Effective C++]条款一:指针与引用的区别
- c++中的引用与指针的区别
- C++中指针和引用的区别
- (转)C++中指针和引用的区别
- C++点滴:向函数中传递指针和传递指针的引用的区别:
- 【C++】指针与引用的区别
- c++中,引用和指针的区别
- C++中引用和指针的区别
- More Effective C++:指针与引用的区别
- c++中引用和指针的区别
- java中的引用和C++中的指针的区别
- C++中指针和引用的区别
- C++ 的引用 指针和引用的区别
- 重新巩固C++指针和引用的区别
- C++中引用和指针的两个重要区别
- C++中指针和引用的区别