حقائق ورؤى حول مدمر (برمجة حاسوب)

في البرمجة الموجهة للكائنات ، المدمر (يُختصر أحيانًا بـ dtor ) هو طريقة يتم استدعاؤها ميكانيكيًا قبل تحرير ذاكرة الكائن . يمكن أن يحدث ذلك عندما تكون مدة حياتها مرتبطة بالنطاق ويترك التنفيذ النطاق، أو عندما يتم تضمينها في كائن آخر تنتهي مدة حياته، أو عندما يتم تخصيصها بشكل ديناميكي ويتم إصدارها صراحةً. غرضه الرئيسي هو تحرير الموارد (تخصيصات الذاكرة، الملفات المفتوحة أو المقابس، اتصالات قاعدة البيانات ، أقفال الموارد ، وما إلى ذلك) التي تم الحصول عليها بواسطة الكائن أثناء حياته و/أو إلغاء تسجيلها من كيانات أخرى قد تحتفظ بالمراجع إليها. يُعد استخدام المدمرات ضروريًا لعملية تهيئة اكتساب الموارد (RAII).

في معظم أنواع خوارزميات جمع القمامة التلقائية ، قد يحدث تحرير الذاكرة بعد فترة طويلة من أن يصبح الكائن غير قابل للوصول، مما يجعل المدمرات (والتي تسمى المُنهيات في هذه الحالة) غير مناسبة لمعظم الاستعمالات. في مثل هذه اللغات، يتم تحرير الموارد إما من خلال بناء معجمي (مثل try..finally، أو "with" في Python أو "try-with-resources" في Java)، وهو ما يعادل RAII، أو صراحةً عن طريق استدعاء دالة (مكافئة للحذف الصريح)؛ على وجه الخصوص، تستخدم العديد من لغات البرمجة كائنية التوجه نمط التخلص .

قراءة المقال الكامل على ويكيبيديا ←