تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: آیا Struct توانایی ذخیره شدن در Heap را دارد؟

  1. #1
    آخر فروم باز
    تاريخ عضويت
    Nov 2009
    پست ها
    1,257

    پيش فرض آیا Struct توانایی ذخیره شدن در Heap را دارد؟

    درود و سلام،
    امروز مطلبی دیدم که میگه Struct در حافظه Heap هم می تواند ذخیره شود!



  2. این کاربر از iranch بخاطر این مطلب مفید تشکر کرده است


  3. #2
    آخر فروم باز
    تاريخ عضويت
    Nov 2009
    پست ها
    1,257

    پيش فرض

    مظنورش از inline چیه؟؟؟؟ من توابع inline می شناسم که کامپایلر برای بهینه سازی موقع تبدیل کردن کد ها به IL ، برخی ها که کوچک هستند و شرایط مناسب دارند رو دقیقا خود تابع رو جایگزین میکنه به جای فراخوانی
    اما استراکچر چطور هست؟ خوب ما 2 نوع ذخیره سازی داریم. یا میریزیم تو Heap مثل رفرنس تایپ ها یا value type ها مثل int
    اما inline رو تازه دیدم!!!!
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    Last edited by iranch; 22-07-2015 at 23:49.

  4. این کاربر از iranch بخاطر این مطلب مفید تشکر کرده است


  5. #3
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    خیلی واضح است، struct در حافظه پشته ذخیره شده و class ها در هیپ ... قبول که دارید؟!
    int یک struct است و در پشته ذخیره میشود ولی
    {;class Class1 {int x یک کلاس است و در هیپ ذخیره میشود، متن هم همین را میگوید! خیلی واضح است!
    struct هایی که جزئی از یک کلاس میشوند، دیگر کلاس هستند.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خیلی سخت نگاه و ترجمه نکنید، نکته ابهامی ندارد.

    ==============

    برای تکمیل بحث لازم به ذکر است که یک عمل Boxing و Unboxing هم در دات نت داریم که وقتی رخ میدهد که struct ای را در نوع System.Object ذخیره کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    عمل دات نت در این موقع شبیه ذخیره در یک کلاس تک فیلدی است.
    و... ...
    درنهایت به آنجا میرسیم که در این حالت هم struct به heap منتقل میشود.
    این لینک را هم ببینید:
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]

    ==============

    مظنورش از inline چیه؟؟؟؟ من توابع inline می شناسم ...
    باید کلمات را در جمله معنی کرد، باید با ذهنیت بازتری ترجمه کرد...
    من حدس میزنم منظور متن از ذخیره inline در اینجا، به احتمال زیاد ذخیره در ثبات های اصلی و داخلی CPU است مانند EAX, EBX, ECX, EDX و...
    در موارد خاص این مورد هم جهت بهینه سازی استفاده میشود تا نیاز به read مدام RAM برای متغییری پراستفاده نباشد.

    موفق باشید.

  6. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  7. #4
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

  8. #5
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض

    سلام،
    البته Structure ها از System.ValueType ارث بری میکنند، و همین System.ValueType به طور غیرمستقیم از System.Object ارث بری میکند.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •