تفاوت بین reference و pointer در C++
توضیحات:
در C++، هر دو reference و pointer برای اشاره به یک متغیر در حافظه استفاده میشوند، اما تفاوتهای مهمی بین آن دو وجود دارد:
نحوه تعریف و استفاده:
- یک reference یک نام دیگر برای یک متغیر موجود است و باید در زمان تعریف به یک متغیر موجود اشاره کند. یک reference باید همیشه به یک متغیر معرفی شده متصل باشد و نمیتواند به متغیر دیگری اشاره کند.
- یک pointer یک متغیر است که آدرس یک متغیر دیگر را نگه میدارد. یک pointer میتواند به یک متغیر اشاره کند یا به
nullptr
که نشانگر عدم اشاره به هیچ متغیری است.
عملیات رفرنس و پوینتر:
- یک reference بعد از تعریف، نمیتواند به متغیر دیگری اشاره کند یا
nullptr
را نگه دارد. همچنین یک reference باید همواره به یک متغیر معرفی شده متصل باشد. - یک pointer میتواند به هر متغیر دلخواهی اشاره کند یا
nullptr
را نگه دارد. همچنین میتوان از pointer برای اشاره به متغیرهای دیگر یا اشاره به متغیرهای جدید استفاده کرد.
- یک reference بعد از تعریف، نمیتواند به متغیر دیگری اشاره کند یا
عملیات دسترسی:
- برای دسترسی به مقدار یک متغیر از یک reference، میتوان به عنوان یک نام دیگر برای آن متغیر استفاده کرد.
- برای دسترسی به مقدار یک متغیر از یک pointer، باید از عملیات dereferencing (
*
) استفاده کرد تا به مقدار آن متغیر دسترسی پیدا کنیم.
بنابراین، تفاوت اصلی بین reference و pointer در C++ این است که reference یک نام دیگر برای یک متغیر موجود است و همیشه به یک متغیر معرفی شده متصل است، در حالی که pointer یک متغیر است که میتواند به هر متغیر دلخواهی اشاره کند یا nullptr
را نگه دارد.
موفق باشید
A.J
پست های مرتبط:
فروشگاه سورسا:
سورسا ، یک خانواده!
شما میتوانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید
بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار میدهد.
اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید میتوانید با کارشناسان سورسا در ارتباط باشید.
سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد