이 질문은 C++에서 메모리 할당 및 할당 취소에 관한 것입니다. 그 객체 그때 메모리를 할당하고 방법 foo는이 반환 :반환 후 C++ 메모리 할당 취소
Object foo() {
Object *a = new Object();
// Do something with this object...
return *a;
}
이 반환 된 객체 사용하는 다른 방법 : 여기 상황이다
void bar() {
Object a = foo();
// Do something..
}
을 그리고 내 질문에,이다 어느 시점에서 내가 할당 한 메모리를 할당 해제해야합니까? 메소드 foo에서 돌아 왔을 때, 메소드 막대가 그 객체의 복사본을 스택에 갖게 되었습니까? 아니면 메모리의 한 객체에 액세스 할 수 있습니까?
감사합니다. 바트
메모리를 새로 할당하면 안됩니다. – PlasmaHH
@PlasmaHH - 왜 안 되니? –
당신이 포인터를 반환하지 않기 때문에,하지만 개체의 복사본. – P3trus