2
뭔가 컴파일하고 잘 실행 :컨테이너의 멤버가 가변성을 상속합니까? 이 같은
#[derive(Clone)]
struct Member {
x: i32,
}
fn main() {
let mut arr = vec![Member { x: 5 }; 5];
arr[0].x = 25;
println!("{}", arr[0].x); // Gives 25
}
이 Vec
가 가변되어 같은 컨테이너에 대한 참조는 다음 요소가 가변성을 "상속"때문에 경우인가?
'IndexMut''의 Vec'의 구현은'& MUT VEC을'걸리고'& MUT T'를 반환합니다. –
Veedrac
'BTreeSet'과'HashSet'을 고려하십시오 - 그들은 항상 불변 인 멤버를가집니다. 'arena '(https://docs.rs/typed-arena/1.3.0/typed_arena/index.html) 상자)는 요소에 대한'& mut '참조를 전달하는 데이터 구조이지만 '& Arena'만이 그렇게 할 수 있습니다. – trentcl