۲ مطلب با کلمه‌ی کلیدی «deallocate» ثبت شده است

تابع مخرب (destructor)

سلام!

موضوع این جلسه، تابع مخرب یا destructor است.

قبل از این جلسه با مفهوم constructor آشنا شدیم و دانستیم که constructor تابعی است که وقتی یک object از یک class بسازیم، صدا زده می شود و می توانیم در آن مقداردهی های اولیه را انجام دهیم.

حالا destructor تابعی است که وقتی یک object حذف می شود، صدا زده می شود. حالا این سوال پیش می آید که یک object چه وقت هایی حذف می شود؟ فرض کنید یک object معمولی (نه static) در یک scope (بین begin و end) ساخته اید. وقتی آن scope تمام شود، object های ساخته شده در آن scope نیز پاک می شوند. دستور delete هم باعث پاک شدن یک object می شود.

۱ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

تعریف آرایه در heap

سلام!

در این جلسه می خواهیم طرز کار آرایه ها را در ++c یاد بدهیم و سپس طرز تعریف آرایه را در heap توضیح دهیم.

فرض کنید یک آرایه ی معمولی ۱۰ تایی را تعریف کرده اید:

int ar[10];

این خط باعث می شود که compiler به دنبال ۱۰ جای خالی پشت سر هم در حافظه بگردد و هر وقت که پیدا کرد، آدرس اولین خانه را در ar بریزد (پس نتیجه می گیریم که ar هم اشاره گر است). حالا مثلا اگر در برنامه بگوییم

ar[5] = 5;

یعنی ۵ خانه جلوتر از خانه ای که ar به آن اشاره می کند را پیدا کن و مقدار آن را برابر با ۵ قرار بده.

۰ نظر موافقین ۰ مخالفین ۱
روزبه صیادی