Skip to content

Latest commit

 

History

History
24 lines (16 loc) · 833 Bytes

references-and-borrowing.md

File metadata and controls

24 lines (16 loc) · 833 Bytes

% References and Borrowing

There is a new edition of the book and this is an old link.

A reference refers to a value but does not own it. Because it does not own it, the value it points to will not be dropped when the reference goes out of scope.

fn calculate_length(s: &String) -> usize { // s is a reference to a String
    s.len()
} // Here, s goes out of scope. But because it does not have ownership of what
  // it refers to, nothing happens.

Here are the relevant sections in the new and old books: