• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

9:03 코드 질문

23.03.21 22:14 작성 조회수 258

1

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

 

답변 1

답변을 작성해보세요.

2

Soobak님의 프로필

Soobak

2023.03.22

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

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

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

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

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

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

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

 

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

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

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