0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)
تفاوت Pointer و Reference در برنامه نویسی چیست؟
قبل توسط (0 امتیاز)
معلومات بیشتر ارایه کنید لطفا

2 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

تفاوت اصلی را می توان با تعریف دقیق هر کدام متوجه شد:

  • یک pointer یک متغییر است که آدرس یک متغییر دیگر را ذخیره می کند.
  • یک reference یک متغییر است که به یک متغییر دیگر اشاره می کند.

برای مثال زبان C++ از pointer و هم از reference پشتیبانی می کند:

int i = 3;
int *ptr = &i; //pointer
int &ref = i; //reference
0 امتیاز
قبل توسط (1.9هزار امتیاز)
در ادامه بگم که همان مدیریت حافظه می باشد که کار با آسان نیست البته برای کارهای بزرگ جدا از این زبان جاوا به همین خاطر همیشه بین اولین زبان های انتخابی Developers قرار دارد حالا بگذریم POinter مقدار مورد نیاز را از آدرس مورد نظر دریافت می کند که در زبان Assembly به عنوان َAddress Offest یاد می کنیم که به این روش جدا از اینکه نخواسته بوده ولی به این روش دسترسی مستقیم همان طوری که در جواب قبل یاد شد و کار با این نوع دسترسی دشوار است چون باید با داده ها کامل دقت را در کدنویسی رعایت کنید به دلیل اینکه اگر از دست بروند با مشکل از دست دادن اطلاعات رو به رو می شوید به دلیل اینکه شما به تنها مقدار موجود مورد نظر کار می کنید رعایت تمام نکات بی نهایت الزامی است و اینکه در آخر منظور از آدرس که در جواب قبل قید شد این بود که آدرس مورد نظر در RAM است اینجا فرق متغیر با اشاره گر در این است که مقداری که به اشاره گر می دهید می توانید دقیق بدانید در کجا مقدار مورد نظر قید شده است ولی در استفاده از متغیر اینطور نیست و همین طور اختیار تمام دارید مقدار را در کدام BIT از حافظه قرار دهید (البته به نوع اشاره گر بستگی داره Double, Int, Float)
قبل توسط (1.1هزار امتیاز)
جاوا pointer نداره ولی reference داره.
قبل توسط (1.9هزار امتیاز)
ببخشید منظور من مدیریت حافظه خودکار بود و reference فقط برای دسترسی است .

سوالات مشابه

+1 امتیاز
1 پاسخ 264 بازدید
...