Weak — 비소유 참조
Weak — 비소유 참조 (Rc)
Weak는 Rc 또는 Arc가 관리하는 할당에 대한 비소유(non-owning) 참조를 갖는 타입이에요. weak.upgrade()로 임시 Rc/Arc를 얻어 접근해요.
출처: Rust 공식 문서
본문
pub struct Weak<T, A = Global>
where
A: Allocator,
T: ?Sized,
{ /* private fields */ }
주요 메서드
pub fn upgrade(&self) -> Option<Rc<T>>
pub fn strong_count(&self) -> usize
pub fn weak_count(&self) -> usize
Rc::downgrade로 Weak를 얻어요. 값이 이미 드롭되었으면 upgrade는 None을 반환해요. 순환 참조를 끊는 데 사용해요.