unique_ptr에서 release하면 걍 증발하는건데
a->b->c 되지
일단 a->b랑 c는 끊어지는게 맞는거 아님? - dc App
unqiue_pointer를 release하는거면 자기가 가리키고 있는 링크를 끊는거임
a->b->c에서 c를 a->b로부터 끊어내려면 b.release() 하는거
그리고 만약에 b.release()하면 a->b만 남고, 그러면 c의 소멸자가 호출이 되는데, 소멸자에서 d가 먼저 dispose되고, c가 dispose됨
오... 일단 밥좀 먹고 생각해볼게 ㄱㅅ - dc App
뭐 a->b c->d 이렇게 나눌거같으면 unique_ptr은 쓰는게 아니고
unique_ptr은 수명 관리하려고 쓰는거임. 단순히 연결만 표현하고 싶으면 raw 포인터를 쓰거나, 아니면 shared_ptr을 따로 두고 weak_ptr로 연결만 표현하거나
https://en.cppreference.com/w/cpp/memory/unique_ptr/release- dc App
엇 뭐야 release는 해제 안하는구나
지식이 늘었다 ㄳㄳ
나 글쓴이인데 여기 읽어보니까 c.release()하면 c가 unique_ptr에 관리받고 있는 객체니까 a->b가 c에대한 소유권을 잃는다. 이렇게 해석하는게 맞음? - dc App
아니면 님 말처럼 c가 관리하는 객체를 방출하는건가? 영어를 내가 못해서 그런가 왜이렇게 애매하지 - dc App
ㄴㄴ c가 물고있는 d에 대한 소유권을 잃는거지
참고로 내가 위에서 소멸된다 어쩌구 한 얘기는 전부 reset() 호출한 경우 얘기고 ....
c.release() 하면 a->b->c d 이렇게 되는겅
unique_ptr에서 release하면 걍 증발하는건데
a->b->c 되지
일단 a->b랑 c는 끊어지는게 맞는거 아님? - dc App
unqiue_pointer를 release하는거면 자기가 가리키고 있는 링크를 끊는거임
a->b->c에서 c를 a->b로부터 끊어내려면 b.release() 하는거
그리고 만약에 b.release()하면 a->b만 남고, 그러면 c의 소멸자가 호출이 되는데, 소멸자에서 d가 먼저 dispose되고, c가 dispose됨
오... 일단 밥좀 먹고 생각해볼게 ㄱㅅ - dc App
뭐 a->b c->d 이렇게 나눌거같으면 unique_ptr은 쓰는게 아니고
unique_ptr은 수명 관리하려고 쓰는거임. 단순히 연결만 표현하고 싶으면 raw 포인터를 쓰거나, 아니면 shared_ptr을 따로 두고 weak_ptr로 연결만 표현하거나
https://en.cppreference.com/w/cpp/memory/unique_ptr/release
- dc App
엇 뭐야 release는 해제 안하는구나
지식이 늘었다 ㄳㄳ
나 글쓴이인데 여기 읽어보니까 c.release()하면 c가 unique_ptr에 관리받고 있는 객체니까 a->b가 c에대한 소유권을 잃는다. 이렇게 해석하는게 맞음? - dc App
아니면 님 말처럼 c가 관리하는 객체를 방출하는건가? 영어를 내가 못해서 그런가 왜이렇게 애매하지 - dc App
ㄴㄴ c가 물고있는 d에 대한 소유권을 잃는거지
참고로 내가 위에서 소멸된다 어쩌구 한 얘기는 전부 reset() 호출한 경우 얘기고 ....
c.release() 하면 a->b->c d 이렇게 되는겅