PDA

View Full Version : سوال: جلوگیری از ازاد سازی حافظه گرفته شده با stackalloc در انتهای تابع c#



moh_43jq683l
جمعه 02 بهمن 1394, 01:22 صبح
سلام . خسته نباشید.
بنده در c# یک استراکت دارم و یک اشاره گر سراسری به از نوع استراکتم. حالا مشکل بنده اینجاست که اگر در تابعی با stackalloc فضایی در حافظه رو بگیرم و ادرسش رو به اشاره گر سراسریم بدم. بعد از تمام شدن تابع فضا خود به خود ازاد میشه و دیتاهامو از دست میدم. یعنی اشاره گر همچنان به همون فضا اشاره میکنه اما مقادیر دخیره شده یه دفه تغییر میکنه، دیگه فضا مال من نیست و تمام دیتا هامو از دست میدم.
حالا نیاز دارم وقتی فضایی رو یا stackalloc یا هر روش دیگه از رم میگیرم. خود به خود در انتهای تابع ازاد نشه. یعنی فضامو از دست ندم.
تشکر

reza_ali202000
جمعه 02 بهمن 1394, 22:08 عصر
سلام دوست عزیز.
فضایی رو که گرفتین باید به صورت سراسری باشه.اگه توی یه تابع تعریف بشه فقط توی همون تابع اعتبار داره و این یعنی شی گرایی.