返回引用还是返回变量?

通常的返回机制将返回值复制到临时存储区域中, 随后调用程序将访问该区域. 

返回引用则程序则调用程序将直接访问返回值.

通常引用将指向传递给函数的引用, 因此调用函数实际上是直接访问自己的一个变量.

而且返回引用不能返回函数内部的临时变量, 因为该变量随着函数的结束而销毁, 返回值会毫无意义, 如

const int& fun (int& a, const int& b)
{
    int c = a + b;
    return c;
}//该程序会崩溃, 因为变量c随着程序的结束而销毁, 继而返回的c的同名对象毫无意义

 

posted @ 2018-03-18 19:06  TobicYAL  阅读(138)  评论(0)    收藏  举报