<과정>
- Reference(참조자)
==> & (엠퍼센트) : 변수 값은 참조하지만 소유권은 안 가져오는 Reference 생성\
- Borrowing(빌림)
==> 함수의 Parameter로 참조자를 생성하는 것.
==> &함수 또한 소유권이 없으므로, 소유권을 되돌려 주기 위해 Value를 다시 Return할 필요X
- 수 기본값이 불변인 것처럼, 참조한 값도 기본이 불변
- 가변 참조자인 &mut 를 통해 참조 값을 변경 가능
- Reference를 통하여 Compile Time에 Data Race 방지.
* Data Race 발생 조건
1. 2개 이상의 Pointer가 동시에 같은 Data에 접근
2. 그 중 적어도 하나의 Pointer가 Data를 씀
3. Data 접근을 위해 동기화하는 Mechanism이 없음
- 불변 참조자(&) 가 존재하면 가변 참조자(&mut) 는 못 만듦.
- Dangling Reference
'Rust' 카테고리의 다른 글
[Rust] Rust Programming 9일차 (0) | 2022.12.16 |
---|---|
[Rust] Rust Programming 8일차 (0) | 2022.12.15 |
[Rust] Rust Programming 6일차 (0) | 2022.12.13 |
[Rust] Rust Programming 5일차 (0) | 2022.12.12 |
댓글