Lập trình 02/11/2026 8 phút

Rust đo thật — ownership và move: vì sao không cần bộ gom rác; dùng lại giá trị sau khi move là lỗi BIÊN DỊCH E0382, còn drop chạy xác định theo thứ tự ngược khai báo, quyết tại lúc biên dịch chứ không phải lúc chạy

Bài mở đầu sê-ri Rust đo thật: ownership là quy tắc mỗi giá trị có đúng một chủ, và khi hết phạm vi của chủ thì giá trị bị dọn ngay — không cần bộ gom rác, không cần free thủ công. Đo trong container rust 1.99.1: gán String cho biến khác là MOVE, dùng lại biến cũ cho ra lỗi biên dịch E0382 (chương trình không chạy nổi), move chỉ sao chép 3 word trên stack nên con trỏ heap giữ nguyên địa chỉ (0xaaaa...7d60 trước và sau), i32 là Copy nên vẫn dùng được cả hai, và hàm drop chạy đúng thứ tự ngược khai báo ngay tại cuối phạm vi — toàn bộ quyết định tại lúc biên dịch.