如果从方法返回引用可能导致内存泄漏,我非常好奇.以下是示例情况.
class example
{
public:
vector<int> & get_vect()
{
return vect;
}
int & get_num()
{
return num;
}
private:
vector<int> vect;
int num;
};
void test_run(example & input)
{
int & test_val = input.get_num();
vector<int> & test_vect = input.get_vect();
}
int main()
{
example one;
test_run(one);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是什么时候test_val和test_vect从堆栈时遭到移除test_run退出.是test_vect或者test_val被删除从而导致对象被破坏?