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

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




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

نام تاپيک: مدریت حافظه در c++ ؟

  1. #1
    اگه نباشه جاش خالی می مونه khatat's Avatar
    تاريخ عضويت
    Sep 2005
    پست ها
    395

    پيش فرض مدریت حافظه در c++ ؟

    سلام دوستان من دارم با c++ کار می کنم و از IDE خاصی هم استفاده نمی کنم
    ولی شنیدم که در زبان c++ مدیریت حافظه به صورت دستی انجام می شه و نه مثل زبان های VB که به صورت اتوماتیک انجام می شه من در مورد pointer و dynamic memory یه سری مطالبی خوندم ولی یه سوال برام پیش اومده که می خواستم کمکم کنید :
    کد زیر که یه حلقه for هست رو در نظر بگیرید :

    for (int i=0; i<10;i++)
    {
    //some code here
    }

    حالا تو کد بالا متغیر i بعد از اتمام شدن حلقه از تو حافظه پاک می شه ؟ یا نه باید متغیر i رو به صورت pointer تعریف کنم و بعد خودم اون رو با دستور delete پاک کنم ؟
    وهمین طور برای متغیر هایی که به عنوان argument در یک function تعریف می کنیم مثل
    void goToLine(int i)
    آیا متغیر i بعد از این که این فانکشن به انتها رسید پاک می شه یا باز باید به صورت pointer تعریف بشه و همین طور سایر متغیر هایی که به صورت local و global معرفی می شن ؟
    ممنون می شم به این دو سه مورد جواب بدید گرچه فکر کنم همشون مثل هم باشن

  2. #2
    داره خودمونی میشه humphry's Avatar
    تاريخ عضويت
    Jan 2009
    محل سكونت
    تهران
    پست ها
    81

    پيش فرض

    dar sorati ke dakhele for moteghayere i ro tarif koni bale bad az for i mojood nist va pak mishe
    dakhele har tabe moteghayerha locale tabe hastan va pak mishan
    mage in ke az fazaye heap ekhtesas peyda karde bashan

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    Oct 2009
    پست ها
    2

    پيش فرض

    دوست عزیز همه اینهایی که شما گفتی خودش ازاد میشه
    چون فضاش رو سیستم عامل برات گرفته نه خودت
    مثلن در صورت زیر ازاد نمی شه چون خودت فضا رو allocate کردی
    int * a = new int[10]
    بعد باید اینطوری ازادش کنی
    delete [] a

Thread Information

Users Browsing this Thread

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

User Tag List

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

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