러스트에서의 문자열 이동

fn main() {
    let s1: String = String::from("Rust");
    let s2: String = s1;
}
  • s1의 힙 데이터는 s2에서 재사용 됩니다.
  • s1의 스코프가 종료되면 아무일도 일어나지 않습니다.(이미 이동되었습니다.)

s2로 이동 전 메모리:

StackHeaps1ptrRustlen4capacity4

s2로 이동 후 메모리:

StackHeaps1ptrRustlen4capacity4s2ptrlen4capacity4(inaccessible)