تبلیغات
Qt Developer Blog - مدیریت حافظه در سلسله مراتب اشیا
 
Qt Developer Blog
کیوتی ساده و آسان برای همه
                                                        
درباره وبلاگ

در این وبلاگ کیوتی که مجموعه ای از کلاس ها برای برنامه نویسی دلپذیر تر با سی پلاس پلاس هست آموزش داده میشود
مدیر وبلاگ : سعید دادخواه
نظرسنجی
آموزش ها به چه صورتی باشد






آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
سلام دوستان
همون طور که میدونید سی پلاس پلاس مدیریت حافظه رو به عهده برنامه نوس گذاشته است یعنی اینکه وقتی شما به عملگر new یه شی ی رو ایجاد میکنید این شی از بین نمیره تا یا برنامه به انتها برسه یا از عملگر delete برای حذف اون استفادن کنیم
اما در کیوتی این امکان وجود داره که شما در شرایط های خاصی مدیریت حافظه رو به عهده کیوتی بذارین . بذارید بیشتر توضیح بدم . اشیای کلاس هایی که از QObject ارث میبرند میتونند یه چیزی شبیه به یه ساختار درخت مانند تشکلیل بدند .  همون طور که دیدیم اشیا ممکن است فرزند داشته باشند . اگرپدر ( همون شی ای که فرزند داره ) delete بشه تمام فرزندان اون هم در کیوتی به صورت خودکار حذف میشند. این بچه ها تازه میاند و بچه ها شونو حذف میکنند و همین طور تا آخر
پس اگر ریشه اون درخت فرضی از  بین بره کیوتی به صورت خودکار بقیه درخت رو حذف میکنه. این ویژگی بسیار خوب هست چون شما رو از دردسر اینکه اشیا رو چگونه مدیریت کنید و کی از بین ببرینشون راحت میکنه.
اما برای اینکه این مدیریت حافظه توسط کیوتی اعمال بشه باید تمام بچه ها و بچه های بچه ها و بچه های .... روی heap گرفته شده باشند .یعنی با عملگر new ساخته شده باشند در غیر این صورت زمانی که مدت عمر یه شی یا یه متغیر تمام شد خود به خود طبق ویژگی های سی پلاس پلاس از بین خواهد رفت.این مشکل کیوتی کار های تاز کار هست . اشیا رو روی استک میگیرند و خوب بعد از اینکه مثلا سازنده کلاس به انتها رسید کامپایلر اشیای ایجاد شده روی سstack رو از بین میبره  و به همین دلیل هست که مثلا فرم یه لحظه کوتاه نمایش داده میشه و ازبین میره.
فعلا




نوع مطلب : عمومی، 
برچسب ها : Qt، qt، QT، Memory Management، Memory Management in qt، مدیریت حافظه در کیوتی، آموزش کیوت، آموزش کیوتی،