강의

멘토링

로드맵

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

jbw217님의 프로필 이미지
jbw217

작성한 질문수

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

6.11 메모리 동적 할당 new와 delete

9:03 코드 질문

작성

·

365

1

delete 후 다시 ptr(주소값)과 *ptr(직접참조:value)를 출력하면, 강의와 달리 주소값부터 다르게 나옵니다. debug 모드로 돌리면 delete 이후 ptr의 주소값이 아예 달라지는데요. 컴파일러 버전에 따라 다른건가요? visual studio 2019 사용 중입니다.

 

답변 1

2

안녕하세요, 답변 도우미 Soobak 입니다. 😁

우선 공지사항에 있는 [질문에서 답을 잘 받는 요령] 글을 참고해주시어 전체 코드나 질문자님의 상황을 조금 더 구체적으로 작성해 질문해주시면 저도 보다 더 자세하게 도움을 드릴 수 있을 것 같습니다. 😭

저의 경우에는 다음과 같이 같은 주소가 출력되는데요!
image

그래도 도움을 드리고자 추가적으로 탐색해보니 질문자님과 비슷한 사례의 질문들 (질문1, 질문2, 질문3) 이 있어서 여러모로 검색을 해본 결과,

Visual Studio 에서 포인터를 delete 한 이후, Visual Studio 가 '청소' 를 해주기 때문이라는 교수님께서 명쾌한 답변이 있는 질문을 찾아서 첨부드립니다.

[질문 - 9분 경의 delete 이후의 ptr 주소값이 다릅니다.] 의 교수님 답변을 참고해보시면 이해가 잘 되실 것 같습니다.

따라서, 해당 '청소' 부분과 관련된 Visual Studio 의 환경 옵션이 다르기 때문에 발생한 일로 판단됩니다.

 

다만 교수님의 설명처럼 문제가 되는 부분은 아니오니, 계속 학습을 이어나가시면 될 것 같습니다.

꼼꼼히 잘 학습하고 계시다는 점으로 받아들이시면 될 것 같아요! 😁😁

답변이 되셨길 바라며, 궁금한 점 있으시면 또 질문글 남겨주세요. 감사합니다.

jbw217님의 프로필 이미지
jbw217

작성한 질문수

질문하기