Rust
-
가변 참조자 ExRust 2023. 8. 11. 20:48
'러스트의 소유권 시스템' fn f1(m1: &mut String) { m1.push('1'); } fn f2(m1: &mut String) { let m2 = String::from("ffffff"); *m1 = m2; } fn main() { let mut m1 = String::from("한글! 테스트"); f1(&mut m1); println!("prt1: {}", m1); f2(&mut m1); println!("prt2: {}", m1); } 결과 prt1: 한글! 테스트1 prt2: ffffff
-
러스트의 소유권 시스템Rust 2023. 8. 11. 20:28
러스트의 소유권 시스템의 기본 3규칙 규칙1 규칙2 규칙3 규칙1 '소유권'과 '소유자' 값에는 '소유권'이 있으며 변수는 값의 '소유자'가 된다. 값은 순수 정수, 실수, 문자열 등 이외에도, 개체도 포함한다. 정확히는 주소값이다. 그 주소값은 변수에 저장되어 Rw(읽기 쓰기)가능하도록 사용되어진다. 러스트는 그 주소값을 '소유권'이라는 제한된 관리 규칙을 만들어 코딩 실수를 줄여 안전성을 올렸다. 규칙2 소유권 이동 소유권은 이동할 수 있지만 '소유자'는 1개(1개의 변수)뿐이다. 주소값은 누구나 가질 수 있지만, 러스트는 오직 1개의 변수만 '소유자'로서 주소값을 가질 수 있도록 했다. 개체를 가르키는 변수 값을 다른 곳에 대입했을 때 '소유권'이 이동 된다(함수 호출 할 때 인자를 넘기면 이동 된..
-
Rust 개요Rust 2023. 7. 23. 13:42
개요 C++의 대체재로써 등장. C++개발보다 메모리 안전성과 성능 및 편의성에 중점을 둔 프로그래밍 언어. 가비지 컬렉터는 없다. 러스트 재단에서 개발되고 있다. Rust는 모질라 소속의 개발자인 그레이던 호어의 개인 프로젝트였으나, 모질라 재단의 차기 웹 브라우저 엔진 프로젝트인 서보(Servo)를 개발하는 데에 쓰기 위해 함께 연구 프로젝트로 편입됐다, 모질라 재단에서 2010년 7월 7일에 처음 발표했으나, 2015년 5월 15일에 안정 버전이 정식 발표된 이후, 2021년 2월부터는 러스트 재단으로 분리되며 AWS, Google, 화웨이, MS, 모질라 재단을 초기 회원사로 발족했다. C/C++를 대체하려 한다는 동기로 나타난 언어라는 점에서 Go언어와 유사하나, 그러나 Go언어보다 반년 늦게 ..