Box
là một cấu trúc dữ liệu cho phép chúng ta di chuyển dữ liệu của mình từ stack sang heap.
Box
là một struct được gọi là smart pointer(con trỏ thông minh) mà sẽ giữ con trỏ tới dữ liệu của chúng ta trên heap.
Bởi vì Box
là một struct với kích thước đã biết (vì nó chỉ chứa một con trỏ), nó thường được sử dụng như một cách để lưu trữ một tham chiếu đến một cái gì đó trong một cấu trúc mà phải biết kích thước các trường của nó.
Box
rất phổ biến, nó có thể được sử dụng ở mọi nơi:
Box::new(Foo { ... })