对比C++中的指针和引用
2016-08-18 10:47
429 查看
指针和引用在形式上比较好区分,由于有很多相似的功能,因此在使用上容易混淆。因此有必要对指针和引用进行对比,以便于在使用时使程序正确高效。
1.引用不可以为空,而指针可以为空。
我们知道引用是对象的别名,因此他不可以为空,因为引用的对象都不存在,怎么可能会有别名。因此在使用时必须对引用进行初始化。而指针可以指向任何对象,也可以不初始化。
2.使用指针之前要判空,而引用不必。
由于指针可以指向任何对象,也可以不指向任何对象,因此在使用前必须先进行判空。而引用则不必,因为引用是对象的别名,在进行引用的时候这个一定是合法的。因此,从这个角度来看,引用比指针安全。
3.引用不可以改变指向,但是指针可以改变指向,指向其他对象。
指针虽然不可以改变指向,但是他可以改变初始化对象的内容。例如++操作。
4.引用的大小是指所指变量的大小,而指针的大小是指针本身的大小(4个字节)。
5.指针比引用更安全
由于不存在空引用,并且引用一旦被初始化指向某一个对象,他就不能变为另一个对象的引用,因此引用很安全。而指针可以随时指向任何对象,并且可以不初始化,所以不安全。并且指针有可能产生野指针,造成内存泄漏。
1.引用不可以为空,而指针可以为空。
我们知道引用是对象的别名,因此他不可以为空,因为引用的对象都不存在,怎么可能会有别名。因此在使用时必须对引用进行初始化。而指针可以指向任何对象,也可以不初始化。
2.使用指针之前要判空,而引用不必。
由于指针可以指向任何对象,也可以不指向任何对象,因此在使用前必须先进行判空。而引用则不必,因为引用是对象的别名,在进行引用的时候这个一定是合法的。因此,从这个角度来看,引用比指针安全。
3.引用不可以改变指向,但是指针可以改变指向,指向其他对象。
指针虽然不可以改变指向,但是他可以改变初始化对象的内容。例如++操作。
4.引用的大小是指所指变量的大小,而指针的大小是指针本身的大小(4个字节)。
5.指针比引用更安全
由于不存在空引用,并且引用一旦被初始化指向某一个对象,他就不能变为另一个对象的引用,因此引用很安全。而指针可以随时指向任何对象,并且可以不初始化,所以不安全。并且指针有可能产生野指针,造成内存泄漏。
相关文章推荐
- C++引用和指针的对比
- C++引用和指针简单样例对比
- C++中引用与指针的比较
- [语法比较][指针/引用]Lava和C/C++语法比较
- java中的引用和C++中的指针的区别
- C++中的临时对象,对临时对象的引用,和临时对象的指针
- C++中的临时对象,对临时对象的引用,和临时对象的指针
- C++中指针(pointer)和引用(reference)的区别和联系
- 引用与指针.C++
- C++引用与指针的比较
- C++引用与指针的比较
- More Effective C++:指针与引用的区别
- C++学习体会--变量,指针,引用
- C++指针和引用(摘录)
- C++指针与引用【转贴】
- C++引用与指针的比较
- More Effective C++:指针与引用的区别
- c++中指针,指针的引用,指针的指针的区别
- C++中指针和引用的区别
- C++引用与指针的比较