Box
este o structura de date ce ne permite să mutăm date de pe stivă în heap.
Box
este o structura cunoscută sub denumirea de smart pointer, ce conține pointerul către datele noastre în heap.
Deoarece Box
este o structură de dimensiune cunoscută (conține doar un pointer), este adesea folosit atunci când o structură trebuie să cunoască dimensiunea câmpurilor sale. Astfel, în interiorul structurii,
vom stoca o referință prin intermediul lui Box
.
Box
este atât de comun încât poate fi utilizat de oriunde:
Box::new(Foo { ... })