全部博文(237)
分类: C/C++
2009-10-19 10:10:30
将“引用”作为函数返回值类型的格式、好处和需要遵守的规则?
格式:类型标识符 &函数名(形参列表及类型说明){ //函数体 }
好处:在内存中不产生被返回值的副本;(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的。因为随着该局部变量生存期的结束,相应的引用也会失效,产生runtime error!
在symbian中,通过指针传递对象一般表示所有权的转移,eg.将一个函数体内的局部指针变量传递给类的成员变量, 由类的成员变量负责销毁它。 如果返回值是一个引用,则没有将所有权进行转移,仍属于原来所属的变量
eg.
CElement& CElementRArray::At( TInt aPosition )
{
return *iElementArray[aPosition];
}
可见,返回值是对一个变量的引用,不存在对函数体内临时变量的拷贝问题,相比于指针,效率提高了。