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

added borrow example

parent b606ad2b
Branches
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.
Please register or to comment