RUST

RUST

[RUST] RUST 메모리 관리 규칙 - 임대(lease)

함수의 소유권 이전 아래는 함수의 소유권이 이전이 되는 예제이다. String 변수를 선언하고 초기화 한 다음 해당 문자열의 길이를 리턴해주는 함수를 사용한다. 여기서 문제가 발생한다. get_string_len() 함수에 String 파라미터를 입력하게 되어 있는데, 이때, String 데이터의 소유권이 변수 str에서 get_string_len() 함수로 넘어가게 되면서 다시 main 함수에서는 str 변수를 사용할 수 없게 된다. 이럴 경우에는 참조를 사용하면 된다. C / C++를 배워봤던 사람들에게는 친숙한 "&" 표시로 참조변수를 만들 수 있다. 참조(Reference) Rust에서 참조(reference)는 중요한 개념 중 하나로, 메모리 안전성을 보장하는 데 핵심적인 역할을 한다. 참조를 ..

RUST

[RUST] RUST 메모리 관리 규칙 - 소유권(Ownership)

프로그램 메모리 관리 방식 1) GC를 이용하는 언어들 - Java, Python, Go, JavaScript - Java, Python, Go, JavaScript 에서 사용됨. - compile time 이 아닌 실행 시간 중(Runtime)에 때때로 더 이상 쓰지 않는 메모리를 GC 가 알아서 정리해 준다. - 개발하기 대단히 편리함. - 운영할 때 성능상 문제가 되기도 함. 2) 수동으로 프로그래머가 메모리를 관리하는 언어들 - C / C++ - 개발자가 메모리 할당과 해제 작업을 지시한다. - 최적의 속도. 실행 시 메모리 관리 부담 최소 - 개발하기가 GC를 사용하는 언어에 비해 상대적으로 어려움, 실수 및 버그가 많이 생길 수 있음. 3) 컴파일 시점에 메모리 관리 규칙을 검사 - RUST ..

ssh9308
'RUST' 카테고리의 글 목록 (2 Page)