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

对比C++中的指针和引用

2016-08-18 10:47 429 查看
  指针和引用在形式上比较好区分,由于有很多相似的功能,因此在使用上容易混淆。因此有必要对指针和引用进行对比,以便于在使用时使程序正确高效。

1.引用不可以为空,而指针可以为空。

  我们知道引用是对象的别名,因此他不可以为空,因为引用的对象都不存在,怎么可能会有别名。因此在使用时必须对引用进行初始化。而指针可以指向任何对象,也可以不初始化。

2.使用指针之前要判空,而引用不必。

  由于指针可以指向任何对象,也可以不指向任何对象,因此在使用前必须先进行判空。而引用则不必,因为引用是对象的别名,在进行引用的时候这个一定是合法的。因此,从这个角度来看,引用比指针安全。

3.引用不可以改变指向,但是指针可以改变指向,指向其他对象。

  指针虽然不可以改变指向,但是他可以改变初始化对象的内容。例如++操作。

4.引用的大小是指所指变量的大小,而指针的大小是指针本身的大小(4个字节)。

5.指针比引用更安全

  由于不存在空引用,并且引用一旦被初始化指向某一个对象,他就不能变为另一个对象的引用,因此引用很安全。而指针可以随时指向任何对象,并且可以不初始化,所以不安全。并且指针有可能产生野指针,造成内存泄漏。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: