get()을 통해 얻은 포인터가 있다고 해보자.
T* ptr = unique_ptr.get();
만약 ptr을 delete하면 어떻게 될까?
delete ptr;
ptr->Foo();
결과는 잘 동작한다. unique_ptr로 만들고 get()을 통해 포인터를 얻어온다면 unique_ptr만이 이 포인터의 소멸을 책임진다.
근데 디버그 모드에서는 뭔가 문제가 있다고 알려주긴 한다.
'Programming' 카테고리의 다른 글
[C++] 임의의 파라미터를 받는 Template 만들기(feat.std::make_unique) (0) | 2020.01.15 |
---|---|
[C++] std::unordered_map // std::unordered_multimap (0) | 2020.01.15 |
[C++] constexpr (1) | 2019.12.19 |
[C++] noexcept 선언 (1) | 2019.12.19 |
[C++] Exception 처리 (0) | 2019.12.19 |