دورة تعلم رست (Rust) جدول المحتويات

العلبة (Box)

Box عبارة عن هيكل بيانات (data structure) يسمح لنا بنقل بياناتنا من المكدس (stack) إلى الكومة (heap).

Box عبارة عن هيكل (struct) يعرف باسم المؤشر الذكي (smart pointer) الذي يحمل مؤشر (pointer) إلى بياناتنا الموجودة في الكومة (heap).

نظرًا لأن Box عبارة عن هيكل (struct) ذو حجم معروف (لأنه يحتوي فقط على مؤشر pointer)، فغالبًا ما يتم استخدامه كطريقة لتخزين مرجع (reference) إلى شيء ما في هيكل يجب أن تكون حقوله معروفة الحجم.

يعد Box شائعًا جدًا ويمكن استخدامه من أي مكان:

Box::new(Foo { ... })