2010.8.16 关于函数参数是指针、还是引用的区别

C++ 引用与指针对比
本文探讨了 C++ 中引用与指针的区别,包括它们在参数传递、返回值处理等方面的不同之处。文中强调了引用在提高代码可读性和简化函数调用方面的优势。

1、效率差别不是很大,但是引用好一点。
用指针做形参,要另外开辟内存空间来存储实参的地址;但引用则不必。

其实引用最大的好处在于使用简单明了。比如你的swap函数,若用指针,调用时要写
swap(&x,&y);
而用引用,调用时直接写
swap(x,y);即可。                   经过证实!

 

2、在参数传递方面,引用比指针直观,可读性强:  

  1.   尽量使用引用代替指针,以下两条除外。  
  2.   如果必须传递数组,使用指针加元素个数。  
  3.   如果参数可能无效(null),使用指针,并判断(p   ==   null)。  
   
  返回值方面:  
  1.   如果返回动态分配的对象或内存,必须使用指针,引用可能引起内存泄漏。  
  2.   operator=的返回值必须是   Cxxx&。  
   
  除了传递参数和返回值,其它地方都应该是指针更好一些。  
   
  必须使用引用的地方:  
  1.   operator=的返回值必须是   Cxxx&。  
  2.   运算符重载的时候:operator+(const   Cxxx&   lhs,   const   Cxxx&   rhs);   不能用指针。

3、

引用传递指向实参,不产生副本
指针传递产生一个指针副本,该指针指向实参
普通参数产生一个副本,该副本保存了实参的值

转载于:https://www.cnblogs.com/peijihui/archive/2010/08/16/1800935.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值