返回局部变量引用时,如果在函数外使用引用变量接收,会遇到它在栈上被释放的弊端。
int& getA(){
int a=10;
return a;
}
int main(){
int &re = getA();
cout<<re<<endl;
cout<<"----------------------"<<endl;
cout<<re<<endl;
}

本文探讨了在C++中从函数返回局部变量引用时可能遇到的问题。当在函数外部使用引用变量接收局部变量时,该局部变量实际上是在栈上分配的,函数执行完毕后局部变量会被销毁,导致引用悬空,这是一个常见的编程陷阱。
返回局部变量引用时,如果在函数外使用引用变量接收,会遇到它在栈上被释放的弊端。
int& getA(){
int a=10;
return a;
}
int main(){
int &re = getA();
cout<<re<<endl;
cout<<"----------------------"<<endl;
cout<<re<<endl;
}

1438

被折叠的 条评论
为什么被折叠?
