Vec 기준

Vec은 같은 타입 값을 순서대로 담고 읽기 방식마다 실패 처리가 다르다

벡터는 길이가 변하는 연속 컬렉션이다. 만들기, 추가, 읽기, 반복, 소유권 해제를 한 표에서 보면 인덱스 접근과 안전한 접근의 차이가 선명해진다.
Same type한 벡터에는 같은 타입의 값이 들어간다.
Heap길이가 늘어나는 저장 공간은 힙에 잡힌다.
Borrow읽기 참조와 변경은 동시에 조심해야 한다.
Drop벡터가 스코프를 벗어나면 요소도 해제된다.
Vec 사용 기준표
작업 대표 코드 판단 기준 실패 처리
생성 Vec::new(), vec![1, 2, 3] 타입 추론이 가능하면 매크로가 간단하고, 빈 벡터는 타입 힌트가 필요하다. 생성 자체는 실패보다 타입 결정이 핵심이다.
추가 v.push(value) 값을 뒤에 붙이며 필요하면 내부 저장 공간이 재할당된다. 살아 있는 요소 참조가 있으면 변경과 충돌할 수 있다.
인덱스 읽기 &v[2] 범위 안이라는 확신이 있을 때 짧다. 범위를 벗어나면 panic으로 중단된다.
안전한 읽기 v.get(2) 없는 위치를 정상 흐름으로 다뤄야 할 때 쓴다. Option으로 있음과 없음을 분기한다.
반복과 변형 for x in &v, enum 읽기 반복은 참조, 여러 형태의 값은 enum으로 같은 타입을 만든다. 반복 중 변경은 빌림 규칙에 맞게 범위를 나눈다.
빠른 초기화값이 이미 있으면 vec!으로 한 번에 만든다.
불확실한 위치사용자 입력 인덱스는 get으로 받는다.
혼합 데이터문자열, 숫자, 구조가 섞이면 enum 변형으로 감싼다.
스코프 끝벡터와 요소의 소유권이 함께 정리된다.