khatat
16-03-2009, 11:41
سلام دوستان من دارم با 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 معرفی می شن ؟
ممنون می شم به این دو سه مورد جواب بدید گرچه فکر کنم همشون مثل هم باشن:11:
ولی شنیدم که در زبان 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 معرفی می شن ؟
ممنون می شم به این دو سه مورد جواب بدید گرچه فکر کنم همشون مثل هم باشن:11: