Table of Contents
Rust 소유권(Ownership)
Rust 는 소유권(Ownership) 이라는 독특한 개념으로 메모리관리를 합니다.
규칙
-
러스트의 모든 값들은 주인(Owner)라 불리는 변수(variable) 를 갖는다
-
한 값에 대한 주인(variable) 은 오직 하나만 존재한다.
-
주인(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)
위 내용은 값에 대한 내용입니다.
참조는 해당하지 않습니다.