اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

تفاوت اشاره‌گر با ارجاع (نام مستعار) چیست؟

+1 امتیاز
1,063 نمایش
یک مشکل در مورد C++ این است که هم‌اکنون گرایشی قوی در زبان وجود دارد که شما را وادار می‌کند پیش از انجام هر کاری، همه‌ی جوانب آن را بدانید. (Larry Wall)
پرسیده شده پنجشنبه ۲۵ آبان ۱۳۹۱ در C++ توسط CPP_Crawler2  
بازتگ شده چهارشنبه ۲۱ فروردین ۱۳۹۲ توسط admin

3 پاسخ

0 امتیاز
 
بهترین پاسخ

هر مقدار در برنامه باید در مکاکن‌هایی ذخیره بشه. این مکان‌های خاصیتی دارند که اون‌ها رو به دو بخش آدرس و مقدار تقسیم می‌کنه. کامپیوتر برای کار کردن روی مقادیر از قسمت آدرس استفاده می‌کنه.
اما شما می‌تونین برای راحتی، برای یه قسمت از حافظه یه اسمی در نظر بگیرین. این کاری هست که وقتی متغیر می‌سازین انجام می‌دین. یه اسم برای یه قسمت از حافظه که یه مقدار داخلش قرار داده شده.
پس به طور کلی اصل آدرس متغیره. اسم‌ها فقط یه اسم هستن برای راحتی استفاده. اما در برنامه می‌تونیم با استفاده از یه اسم آدرس یه حافظه رو هم به دست بیاریم.
خب حالا اشاره‌گر می‌شه همون آدرس مورد نظر و ارجاع می‌شه یه اسم که به یه قسمت از حافظه دادیم.
در حقیقت اشاره‌گر آدرس یک خونه از حافظه به زبان کامپیوتره و ارجاع آدرس یک خونه از حافظه به زبان انسان. بنابراین ارجاع قبل از استفاده به زبان کامپیوتر ترجمه می‌شه.

هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده جمعه ۲۵ اسفند ۱۳۹۱ توسط prodo  
انتخاب شده جمعه ۲۵ اسفند ۱۳۹۱ توسط admin
+1 امتیاز

من در حد تعریفشون میدونم که فرقشون چیه:
اشاره‌گر متغیری هست که توش آدرس یک متغیر دیگه گذاشته میشه که از اون طریق میشه مستقیما به محتوای اون متغیر دیگه دسترسی داشت.
ولی ارجاع، دقیقا اسم دیگری برای یک متغیر (که از قبل تعریف شده) هست.

ولی قطعا فرق‌های دیگه‌ای هم دارن که الان متاسفانه تو ذهنم نیست.

پاسخ داده شده یکشنبه ۲۶ آذر ۱۳۹۱ توسط CPP_Crawler4  
+1 امتیاز

بله تقریبا همین طوره. به طور دقیق تر(جوابی که استادم برای سوالی مشابه همین سوال در نظر گرفته بودن اینه):
"اﺷﺎره ﮔﺮ ﺳﺎﺧﺘﺎر ﻣﺘﻔﺎوت ﺑﺮای دﺳﺘﺮسی ﺑﻪ ﯾک شی می ﺑﺎﺷﺪ ﮐﻪ از ﻃﺮﯾﻖ آدرس آن ﺑﻪ آن شی دﺳﺘﺮسی دارﯾﻢ اﻣﺎ در ارﺟﺎع در ﺣﻘﯿﻘﺖ ﺑﺎ ﺧﻮد ﻣﺘﻐﯿﯿﺮ ﺑﻪ ﺻﻮرت ﻣﺴﺘﻘﯿﻢ و ﺗﻨﻬﺎ ﺑﺎ ﻧﺎمی ﻣﺘﻔﺎوت ﺳﺮﮐﺎر دارﯾﻢ ﮐﻪ ﺳﺎﺧﺘﺎری ﺟﺪا از ﺧﻮد ﻣﺘﻘﯿﺮ ﻧﯿﺴﺖ."

پاسخ داده شده دوشنبه ۱۸ دی ۱۳۹۱ توسط CPP_Crawler5