우측 맨위에 보다시피 c++11 std 옵션 주고 컴파일 및 실행해봄
원글과는 달리 런타임 에러는 아니고 컴파일 워닝이 나옴, 런타임 에러는 없음
다만 A의 가상 소멸자가 없으니까 B의 소멸자는 실행되지 않았음
그런데 unique_ptr[B](new B())로 만들어서 unique_ptr[A] 초기화한건 워닝이 나고 unique_ptr[A](new B())로 만든건 워닝이 안난다?
아니었다 위에서 워닝 났던 부분 주석처리 하니 그 다음게 워닝 난다
비슷한 워닝 하나로 퉁친건지
그외 런타임 결과는 동일하다
부모와 자식 클래스의 각 소멸자들이 할일이 있든 없든, 부모가 가상이든 아니든 일단 부모에 가상 소멸자 만들고보는게 맞는듯
사실 지금까지의 결과들이 너무 당연해보이는데 왜 밑글에서는 컴파일 에러가 났는지 모르겠다
아 젤 밑줄 컴파일 에러 -> 런타임 에러
그렇군.... 실험 ㄱㅅㄱㅅ 그냥 소멸자 잘 만들어야겠넹