中級 › for ループで Vec を直接回すと要素がムーブされる › パターン3
for ループで Vec を直接回すと要素がムーブされる
for x in vec のように所有権を持つVecを直接forに渡すと、内部でinto_iter()が呼ばれ各要素の所有権がムーブされます。
1 fn main() { 2 let items = vec![String::from("p"), String::from("q")]; 3 for it in _____________ { ^ 4 println!("{}", it); 5 } 6 println!("{}", items.len()); 7 }
error[E0382]: borrow of moved value: `items`
空欄を埋めて実行を通す
&を付けて渡せば、要素を借用するだけでitemsの所有権は失われません。
次の問題