fn main() {
let mut v = Vec::new();
println!("A: {}", v.capacity());
v.push('a'); // capacity automatically increased
println!("B: {}", v.capacity());
v.push('b');
v.push('c');
v.push('d');
println!("C: {}", v.capacity());
v.push('e'); // capacity automatically increased // reallocation
println!("D: {}", v.capacity());
}
/*
run:
A: 0
B: 4
C: 4
D: 8
*/