Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1544080
  • 博文数量: 237
  • 博客积分: 5139
  • 博客等级: 大校
  • 技术积分: 2751
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 14:48
文章分类

全部博文(237)

文章存档

2016年(1)

2012年(4)

2011年(120)

2010年(36)

2009年(64)

2008年(12)

分类: C/C++

2009-10-19 10:10:30

将“引用”作为函数返回值类型的格式、好处和需要遵守的规则?

格式:类型标识符 &函数名(形参列表及类型说明){ //函数体 }

好处:在内存中不产生被返回值的副本;(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的。因为随着该局部变量生存期的结束,相应的引用也会失效,产生runtime error!


在symbian中,通过指针传递对象一般表示所有权的转移,eg.将一个函数体内的局部指针变量传递给类的成员变量, 由类的成员变量负责销毁它。 如果返回值是一个引用,则没有将所有权进行转移,仍属于原来所属的变量

eg.

CElement& CElementRArray::At( TInt aPosition )

    {

    return *iElementArray[aPosition];

    }

可见,返回值是对一个变量的引用,不存在对函数体内临时变量的拷贝问题,相比于指针,效率提高了。

阅读(1767) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~