函数可以返回一个局部对象,而不能返回一个局部对象的引用(指针):
当函数返回一个局部对象时,虽然这个对象已经释放,但是返回时会产生一个临时的对象。
而当返回一个局部对象的引用时,这个对象已经不存在了。这就要求在函数参数中,包含一个引用或指针。
int &func(int a,int b,int &retsult)
{
retsult = a + b;
return &retsult
}
但是如下代码是错误的(返回局部对象的引用)
int &func(int a,int b)
{
int &j = a + b;
return j;
}
时间: 2024-12-10 22:23:42