doubly linked list 구현해보고 있는데 오른쪽 링크가 소유권 가지고, 왼쪽 링크는 raw pointer로 참조하도록 구현 중임.
근데 이게 너무 복잡한 거야.
그래서 아예 노드에 대한 소유권을 포기하고 왼쪽, 오른쪽 링크가 raw pointer 참조하게 하고 drop 트레잇으로 raw pointer를 직접 해제하도록 구현하고 싶음. 그러니까 완전 c스타일로 구현 하는거지.
근데 찾아봐도 소유권 포기하는 내용은 없네. 이렇게 구현은 불가능함?
근데 이게 너무 복잡한 거야.
그래서 아예 노드에 대한 소유권을 포기하고 왼쪽, 오른쪽 링크가 raw pointer 참조하게 하고 drop 트레잇으로 raw pointer를 직접 해제하도록 구현하고 싶음. 그러니까 완전 c스타일로 구현 하는거지.
근데 찾아봐도 소유권 포기하는 내용은 없네. 이렇게 구현은 불가능함?
나도 러스트 뉴비인데 Rc가 이때 쓰이는 거 아닌가?
rc는 레퍼런스 카운터 방식이라 런타임 오버헤드가 있잖아. 아예 오버헤드 없이 구현하고 싶어
mem::forget ㄱㄱ
Rc랑 비슷한걸 원하면 rc::Weak
구글에 too many linked lists 검색 ㄱㄱ
오 좋다 ㄱㅅㄱㅅ
forget도 있고 ManuallyDrop도 있음