[C++] 메모리 누수
-
게시물 수정 , 삭제는 로그인 필요
C++ 동적할당 파트를 공부하고 있는데, 메모리 누수 관련 문제2개를 모르겠어서 여쭤봅니다.
Q. 함수 f()가 실행되고 난 뒤 메모리 누수가 발생하는지 판단하고 메모리 누수가 발생하면 발생하지 않도록 수정해라.
(1)
(2)
(1)에서
q가 가르키고있는게 포인터p이고, p는 int형을 동적할당받은 포인터변수라고 생각하고 있습니다.
delete q;를 하게되면, q가 가르키는 포인터변수p만 반납되는건가요? 아니면 포인터변수p랑 할당받은 int까지 같이 반납되는 건가요.??
뭐 어떻게 되어먹은건지 모르겠어서 누수가 발생하는지 아닌지조차 모르겠습니다ㅠㅠ
(2)에서
메모리 누수가 발생한다고 생각합니다.
아래와 같이 고쳐야
delete p;이 문장을 반복문 안에 넣어야지 메모리 누수가 발생하지 않는다고 생각하는데 맞나요?
아직 잘 모르는 부분이 많습니다.. 자세한 설명과 정답에 대한 해설도 함께 알려주시면 감사하겠습니다..!
(1)에서
#c++ 메모리 누수 체크 #c++ 메모리 누수 #c++ 메모리 구조 #c++ 메모리 관리 #c++ 메모리 해제 #c++ 메모리 사용량 확인 #c++ 메모리를 읽을 수 없음 #c++ 메모리 초과 #c++ 메모리 복사 #c++ 메모리 초기화