Explained the difference between ownership iteration and reference iteration
This commit is contained in:
parent
54fdae3d6e
commit
9bf73d24d0
1 changed files with 23 additions and 0 deletions
|
|
@ -114,7 +114,30 @@ for i in v {
|
|||
println!("Take ownership of the vector and its element {}", i);
|
||||
}
|
||||
```
|
||||
Note: You cannot use the vector again once you have iterated with ownership of the vector.
|
||||
You can iterate the vector multiple times with reference iteration. For example, the following
|
||||
code does not compile.
|
||||
```rust
|
||||
let mut v = vec![1, 2, 3, 4, 5];
|
||||
for i in v {
|
||||
println!("Take ownership of the vector and its element {}", i);
|
||||
}
|
||||
for i in v {
|
||||
println!("Take ownership of the vector and its element {}", i);
|
||||
}
|
||||
```
|
||||
Whereas the following works perfectly,
|
||||
|
||||
```rust
|
||||
let mut v = vec![1, 2, 3, 4, 5];
|
||||
for i in &v {
|
||||
println!("A mutable reference to {}", i);
|
||||
}
|
||||
|
||||
for i in &v {
|
||||
println!("A mutable reference to {}", i);
|
||||
}
|
||||
```
|
||||
Vectors have many more useful methods, which you can read about in [their
|
||||
API documentation][vec].
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue