-
C++ 에서 delete는 Virtual 일까?프로그래밍 언어/C || C++ 2018. 10. 12. 17:09
C++ 에서 delete는 Virtual 일까?
new 연산자를 이용해 할당한 개체는 delete 연산자를 이용하여 메모리 영역을 해지할 수 있습니다.
이 때, delete 연산자는 Virtual 일까요? -> 네!
이유는 delete 연산자가 virtual이 아니라면 제대로 메모리 영역이 해지되지 않기 때문입니다!
비슷한 경우로 상속관계에서 다형성을 사용할 때, 소멸자는 항상 가상소멸자로 선언을 하는 것입니다.
만약 가상소멸자로 선언하지 않을 경우, 자식 클래스의 소멸자가 실행되지 않고, 부모의 소멸자만 호출되기 때문에
상속관계에서 소멸자는 가상 소멸자로 코딩하는 것이 좋습니다!
'프로그래밍 언어 > C || C++' 카테고리의 다른 글
C++ 람다 표현식 (Lambda Expression) (0) 2018.10.10 Thread와 Thread 스케줄링 (0) 2018.05.10 [C언어] bool, Boolean (0) 2018.05.08 TCHAR, LPCTSTR (0) 2018.05.08 댓글