작성
·
173
·
수정됨
1
AutoPtr을 사용 시, 함수?가 끝나게 되면 자동으로 delete를 해주는 것은 이해했습니다. 그렇다면 res1이라는 포인터는 스택 메모리에 저장이 되어 있다고 생각하면 될까요?
답변 1
2
안녕하세요? 질문&답변 도우미 Soobak 입니다.
네, 맞습니다.
res1
이라는 포인터 자체는 스택 메모리에 저장됩니다.
좀 더 구체적으로 설명드리자면,
AutoPtr<Resource> res1(new Resource);
라는 코드를 통해 생성된 res1
은 AutoPtr<Resource>
타입의 객체입니다.
이 객체는 지역 변수로 선언되었으므로 스택 메모리에 저장됩니다.
res1
객체 내부의 멤버 변수인 m_ptr
은 힙 메모리에 동적으로 할당된 Resource
객체를 가리키는 포인터입니다.
res1
자체는 스택 메모리에 존재합니다.
감사합니다!