logo

chém gió về computer science (đang nâng cấp giao diện ^^)

Trong Rust còn có một loại con trỏ khác có tên là con trỏ Box, đây là con trỏ dùng cho kiểu generic T, tức là dùng cho bất kì kiểu dữ liệu nào. Khi dùng con trỏ Box thì dữ liệu sẽ được lưu trên bộ nhớ heap.

Để tạo một biến con trỏ Box thì chúng ta dùng hàm Box::new, ví dụ như sau:

struct Blog {
year: i32,
name: &’static str

fn main() {
let mut a1 = Box::new(Blog {
year: 2017,
name: "phocode.com"
});
println!("{}", a1.year);
}

Trong đoạn code trên chúng ta khai báo biến a1 là một biến con trỏ Box chứa dữ liệu là một biến Blog.

2017

Cơ chế borrowingownership trong con trỏ Box cũng hoàn toàn giống như với con trỏ bình thường.

Ngoài các struct thì Box cũng hỗ trợ các kiểu dữ liệu cơ bản, ví dụ:

fn main() {
let a = Box::new(2017);
let b = Box::new("phocode.com");
let mut c = Box::new("3.14");
*c = 3.14159;
}

Mặc định thì nếu không chỉ định là biến mut thì các biến sẽ không thể thay đổi giá trị được, giống như với các con trỏ bình thường.

0 0 vote
Article Rating
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Bài liên quan:

Subscribe
Thông báo cho tôi qua email khi
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments

Mục lục

0
Would love your thoughts, please comment.x
()
x