У меня есть этот вопрос относительно выделения и освобождения памяти в C++. Вот ситуация: У меня есть метод Foo, который выделяет память, а затем возвращает этот объект:Освобождение памяти C++ после возврата
Object foo() {
Object *a = new Object();
// Do something with this object...
return *a;
}
и другой метод, который использует этот возвращенный объект:
void bar() {
Object a = foo();
// Do something..
}
И мой вопрос, в в какой точке я должен освободить память, которую я выделил? Когда я вернусь из метода foo, панель методов получает копию этого объекта в стеке или получает доступ к этому одному объекту где-то в памяти?
Спасибо! Bart
Вы не должны выделять память через новое вообще здесь – PlasmaHH
@PlasmaHH - почему бы и нет? –
, потому что вы не возвращаете указатель, а копию объекта. – P3trus