Vec<T> borrow mode

Vec 반복과 수정 선택

벡터를 순회할 때는 “요소를 읽을지, 요소 값을 바꿀지, 벡터 구조를 바꿀지”를 먼저 나누면 대여 오류를 피하기 쉽습니다.

&v

요소 읽기

for i in &v는 벡터 전체를 불변으로 빌려 각 요소를 읽습니다.

&mut v

요소 값 수정

for i in &mut v는 각 요소의 가변 참조를 받아 *i로 값을 바꿉니다.

outside

길이 변경

push, pop처럼 구조를 바꾸는 일은 요소 참조가 끝난 뒤에 둡니다.

인덱스 접근

범위 밖 가능성이 있으면 getOption을 고릅니다.

요소 참조 보관

참조가 살아 있는 동안 벡터의 재할당 가능 작업을 피합니다.

반복 중 수정

요소 값을 바꾸는 것과 벡터 길이를 바꾸는 것을 분리합니다.

여러 타입

가능한 타입 집합이 정해져 있으면 열거형 배리언트로 한 타입을 만듭니다.