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

김복두님의 프로필 이미지
김복두

작성한 질문수

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

8.6 소멸자 destructor

8:40 nullptr 질문드려요

해결된 질문

작성

·

258

0

안녕하세요?

~IntArray()

{

if (m_arr != nullptr)

delete[] m_arr;

}

동적할당 해제를 위해 소멸자 몸체에 delete를 해주고있습니다.

포인터는 여전히 해제된 메모리를 가리키고있는데 포인터에 nullptr을 해줘야 하지않나요?

답변 2

1

소멸자가 호출되는건 그 객체가 사라질 때입니다. 그 객체가 어차피 이제 곧 사라질 텐데 굳이 코드 한줄 더 추가해서 m_arr = nullptr 해줄 필요는 없습니다. 어차피 객체가 곧 사라지기에 그의 멤버인 m_arr 포인터도 사라지기 때문입니다. m_arr 을 다시 사용할 일이 없습니다.

0

김복두님의 프로필 이미지
김복두
질문자

감사합니다:)

김복두님의 프로필 이미지
김복두

작성한 질문수

질문하기