引用与指针的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了引用与指针的区别相关的知识,希望对你有一定的参考价值。

引用:相当于给一个变量取的别名,它本身不是一种数据类型,因此不战用存储空间,不能建立数组的引用


引用作为函数参数:当发生函数调用时,用引用作为参数,在内存中并不会产生实参的副本,也不会给引用这个形参分配空间,

而是直接对实参进行操作,但如果用一般变量作为函数参数,则会给它分配空间,并且作为实参的副本,如果

传递的是对象,还将调用拷贝构造函数


引用与指针的区别:相同点:引用与指针都会导致实参对象值的改变


 不同点:a.引用不用分配空间,指针要分配空间,且指针作为形参在调用时,必须用变量的地址作为实参

 b.引用初始化后不能再次改变指向,而指针可以随时改变指向

 如:void testRefFun(int &a,int &b);引用做函数形参

     void testRefFun(int a,int b);普通变量作形参


以上是关于引用与指针的区别的主要内容,如果未能解决你的问题,请参考以下文章

[转载]C++中引用与指针的区别(详细介绍)

指针与引用的区别

(C/C++)区别:数组与指针,指针与引用

指针与引用的区别

简述指针和引用的区别与使用场景

预先存储对指针的引用与在移动中引用指针之间的区别