我很好奇,如果從方法返回引用可能導致內存泄漏。以下是示例情況。當test_val
和test_vect
從堆棧時test_run
退出刪除返回const引用或引用的方法是否會導致內存泄漏?
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;
}
我的問題是。 test_vect
或test_val
是否被刪除,從而導致對象被損壞?
只有在涉及動態內存分配時纔會發生內存泄漏。 – Angew 2014-09-12 14:40:06