Deref — 역참조 트레잇

Deref — 역참조 트레잇

Deref* 역참조 연산자를 위한 트레잇이에요. &*value처럼 스마트 포인터가 내부 타입처럼 동작하게 해요.

출처: Rust 공식 문서

본문

pub trait Deref {
    type Target: ?Sized;

    fn deref(&self) -> &Self::Target;
}

연관 타입

// 역참조 결과 타입
type Target: ?Sized;

필수 메서드

// 값을 역참조해 Target에 대한 참조를 반환해요.
fn deref(&self) -> &Self::Target;

Box<T>, Rc<T>, Arc<T>, String 등이 구현해요. Deref 덕분에 *rc로 내부 값에 접근하거나, 슬라이스 메서드를 자동으로 사용할 수 있어요(Deref coercion).

더 알아보기 (Learn more)