Xen / reference v0.1.0-demo.2
복사·이동·참조 규칙
선택한 언어나 버전에는 이 주제가 없어 같은 영역의 시작 페이지를 표시합니다.
| 값 | 값으로 전달할 때 |
|---|---|
| 숫자·불리언 | 복사 |
| String·복제 가능한 원소의 Vec | 내용의 독립적인 사본 |
| Box·File·이동 전용 요소를 포함한 타입 | 소유권 이동, 원본 사용 불가 |
구조체·enum·튜플은 구성 요소의 규칙을 따릅니다. 하나라도 이동 전용이면 전체가 이동 전용입니다. 반환값은 호출자에게 전달됩니다.
&T는 공유 참조, &mut T는 변경 참조이며 *reference로 읽습니다. 변경 참조의 소유자는 let mut이어야 합니다. 명시적 참조 생성·매개변수에는 explc가 필요합니다.
공유 참조가 사용 중이면 원본을 변경하거나 이동할 수 없습니다. 변경 참조가 사용 중이면 다른 참조나 원본으로 같은 값에 접근할 수 없습니다. 제한은 참조의 마지막 사용 뒤에 끝납니다. 참조를 반환하거나 구조체 필드에 저장할 수 없고, 임시 값을 직접 빌릴 수 없습니다.
블록을 나갈 때 소유 값이 해제됩니다. return, break, continue, ?도 포함됩니다. 열린 File은 자동으로 닫힙니다. panic·런타임 오류로 종료할 때는 정상 정리가 실행되지 않습니다.
관련 학습: 복사·이동·참조