
نوشته شده توسط
علی کشاورز
وقتی متغیر حلقه for شما بصورت Local Variable تعریف میشه، کامپایلر مقدار آن را در داخل یکی از رجیسترهای CPU نگهداری میکنه.
یه سوال :
در مورد اولویت ذخیره در رجیستر بین متغیر حلقه و متغیر لوکال در همان اسکوپ آیا تفاوتی وجود داره ؟
یعنی
dim j as int
for i as int = 1 to 2
next
اینجا i , j هر دو در یک محل ذخیره می شوند ؟ (یعنی مثلا هر دو در رجیستر یا هر دو در کش لول1 / حتی اگر ضیق حافظه هم بود i لزوما بر j ارجحیت نداشته باشد.)
یا اینکه فرقی بین متغیر حلقه و متغیر لوکال وجود داره ؟(مثلا i ارجحیت دارد برای تصاحب حافظه با دسترسی سریعتر)