Explained the difference between ownership iteration and reference iteration

This commit is contained in:
srinivasreddy 2016-03-02 09:36:30 +05:30
parent 54fdae3d6e
commit 9bf73d24d0

View file

@ -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].