تفاوت بین حافظه اشاره گری (Pointer) و حافظه اشاره دهی (Reference) در C++ چیست؟
توضیحات:
در زبان برنامهنویسی C++، هر دو حافظه اشارهگری (Pointer) و حافظه اشارهدهی (Reference) برای ارجاع به یک متغیر یا شیء در حافظه استفاده میشوند، اما تفاوتهای مهمی بین آنها وجود دارد:
- حافظه اشارهگری (Pointer):
- یک متغیر است که آدرس حافظه متغیر دیگری را نگهداری میکند.
- میتوان آن را به متغیرها یا شیءهای دیگر اشاره داد.
- میتوان آن را به یک متغیر اشاره داده و مقدار آن را تغییر داد.
- برای ایجاد یک اشارهگر، از عملگر “&” استفاده میشود.
- برای دسترسی به مقدار اشارهشده توسط اشارهگر، از عملگر “*” استفاده میشود.
- حافظه اشارهدهی (Reference):
- یک نام دیگر برای یک متغیر است و به عنوان یک متغیر دیگر در نظر گرفته میشود.
- یک بار تعریف شده، نمیتوان آن را به یک متغیر دیگر اشاره داد.
- تغییراتی که بر روی یک متغیر انجام میشود، به صورت مستقیم بر روی متغیر مرجع نیز تاثیر میگذارد.
- برای تعریف یک مرجع، از عملگر “&” استفاده میشود.
به طور کلی، استفاده از حافظه اشارهدهی (Reference) معمولاً ایمنتر و سادهتر از حافظه اشارهگری (Pointer) است، زیرا خطراتی که ممکن است در استفاده اشتباه از اشارهگرها وجود داشته باشد، در مورد مراجع (Reference) وجود ندارد.
موفق باشید
A.J
پست های مرتبط:
فروشگاه سورسا:
سورسا ، یک خانواده!
شما میتوانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید
بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار میدهد.
اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید میتوانید با کارشناسان سورسا در ارتباط باشید.
سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد