Rust 소유권(Ownership)

By | 2022년 4월 29일
Table of Contents

Rust 소유권(Ownership)

Rust 는 소유권(Ownership) 이라는 독특한 개념으로 메모리관리를 합니다.

규칙

  1. 러스트의 모든 값들은 주인(Owner)라 불리는 변수(variable) 를 갖는다

  2. 한 값에 대한 주인(variable) 은 오직 하나만 존재한다.

  3. 주인(variable) 이 없는 값은 드랍(drop)된다.

소유권 이전(move)

소유권은 값을 할당하거나,
함수의 인수로 값을 넘기거나,
리턴값으로 넘길때 이동(move) 합니다.

메모리 수거(drop)

소유권을 이전하지 않고 변수(variable) 가 범위(scope) 을 벗어나면,
값은 메모리에서 제거됩니다.

예제

fn main() {
    let a = String::from("hello");
    let b = my_function(a);

    println!("{}", b);
}

fn my_function(str: String) -> String {
    str
}

참조(pointer)

위 내용은 값에 대한 내용입니다.
참조는 해당하지 않습니다.

답글 남기기