مخرب (برنامهنویسی رایانه)
در برنامهنویسی شیءگرا مخرب یا نابودگر (انگلیسی: Destructor) یک متد است که بهطور خودکار زمانی شیء از حذف شود، صدا زده میشود. این اتفاق میتواند زمانی رخ دهد که طول عمر شیء به یک محدوده مشخص محدود شود و اجرای برنامه محدوده را ترک کند، یا زمانی که شیء داخل یک شیء دیگر تعریف شده باشد و طول عمر شی دوم تمام شود. هدف اصلی این متد آزاد کردن منابعی (حافظههای تخصیص داده شده، فایلها یا سوکتهای باز، اتصالات به پایگاههای داده، قفلهای منابع و غیره) میباشد که در طول عمر شیء توسط آن اشغال شدهاست.
مثال در سی++[ویرایش]
در سی++ متد مخرب هم نام کلاس میباشد اما یک مدک (~) در ابتدای آن وجود دارد. در زیر یک نمونه از استفاده از مخرب در سی++ نمایش داده شدهاست.
#include <cstring>
#include <iostream>
class foo_t
{
friend std::ostream & operator << ( std::ostream & os, foo_t const & foo )
{
os << foo.data;
return os;
}
private:
char * data;
foo_t( foo_t const & other ); // disable copy construction
foo_t& operator = ( foo_t const & other ); // disable assignment
public:
foo_t( void ) : data( new char[ 14 ] ) { std::strcpy( data, "Hello, World!" ); }
~foo_t( void ) { delete [] data; }
};
int main()
{
foo_t foo;
std::cout << foo << '\n';
}
منابع[ویرایش]
- مشارکتکنندگان ویکیپدیا. «Destructor (computer programming)». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۲۰ ژوئن ۲۰۱۷.