강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

bum7124님의 프로필 이미지
bum7124

작성한 질문수

홍정모의 따라하며 배우는 C++

15.1 이동의 의미와 스마트 포인터

[10:25] AutoPtr 포인터의 메모리 위치 질문

작성

·

173

·

수정됨

1

AutoPtr을 사용 시, 함수?가 끝나게 되면 자동으로 delete를 해주는 것은 이해했습니다. 그렇다면 res1이라는 포인터는 스택 메모리에 저장이 되어 있다고 생각하면 될까요?

답변 1

2

안녕하세요? 질문&답변 도우미 Soobak 입니다.

 

네, 맞습니다.

res1 이라는 포인터 자체는 스택 메모리에 저장됩니다.

좀 더 구체적으로 설명드리자면,

  • AutoPtr<Resource> res1(new Resource); 라는 코드를 통해 생성된 res1AutoPtr<Resource> 타입의 객체입니다.

  • 이 객체는 지역 변수로 선언되었으므로 스택 메모리에 저장됩니다.

    • res1 객체 내부의 멤버 변수인 m_ptr 은 힙 메모리에 동적으로 할당된 Resource 객체를 가리키는 포인터입니다.

res1 자체는 스택 메모리에 존재합니다.

bum7124님의 프로필 이미지
bum7124
질문자

감사합니다!

bum7124님의 프로필 이미지
bum7124

작성한 질문수

질문하기