Skip to content
Snippets Groups Projects
Commit 60da7090 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

added borrow example

parent b606ad2b
No related branches found
No related tags found
No related merge requests found
[package]
name = "borrowing"
version = "0.1.0"
authors = ["Orestis Malaspinas <orestis.malaspinas@hesge.ch>"]
edition = "2018"
[dependencies]
fn borrow(_notebook: &Vec<&str>) { // _notebook prend l'ownership de la référence vers un Vec
// on peut lire les données contenues dans notebook
} // la référence est détruite, les données sont rendues à notebook
fn main() {
let mut notebook = Vec::new(); // par défaut notebook est immutable
notebook.push("Il fait beau.");
notebook.push("Les oiseaux chantent.");
borrow(&notebook); // on crée une référence et on la passe à borrow
borrow(&notebook); // on peut réutiliser notebook
{
let n = &notebook;
borrow(n);
borrow(&notebook);
} // la référence n est détruite
borrow(&notebook); // on peut réutiliser notebook
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment