작성한 질문수
홍정모의 따라하며 배우는 C++
8.6 소멸자 destructor
해결된 질문
작성
·
258
0
안녕하세요?
~IntArray()
{
if (m_arr != nullptr)
delete[] m_arr;
}
동적할당 해제를 위해 소멸자 몸체에 delete를 해주고있습니다.
포인터는 여전히 해제된 메모리를 가리키고있는데 포인터에 nullptr을 해줘야 하지않나요?
답변 2
1
소멸자가 호출되는건 그 객체가 사라질 때입니다. 그 객체가 어차피 이제 곧 사라질 텐데 굳이 코드 한줄 더 추가해서 m_arr = nullptr 해줄 필요는 없습니다. 어차피 객체가 곧 사라지기에 그의 멤버인 m_arr 포인터도 사라지기 때문입니다. m_arr 을 다시 사용할 일이 없습니다.
감사합니다:)