강의

멘토링

로드맵

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

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

작성한 질문수

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

8.6 소멸자 destructor

8:40 nullptr 질문드려요

해결된 질문

작성

·

337

0

안녕하세요?

~IntArray()

{

if (m_arr != nullptr)

delete[] m_arr;

}

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

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

퀴즈

51%나 틀려요. 한번 도전해보세요!

객체 지향 프로그래밍에서 클래스/객체의 주된 역할은 무엇일까요?

프로그램 실행 속도를 최적화하는 것

데이터를 처리하는 함수와 해당 데이터를 하나로 묶는 것

메모리 할당 및 해제를 자동화하는 것

다른 프로그래밍 언어로 코드를 변환하는 것

답변 2

1

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

0

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

감사합니다:)

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

작성한 질문수

질문하기