Різниця між вказівником та еталоном

Автор: Laura McKinney
Дата Створення: 1 Квітень 2021
Дата Оновлення: 1 Липня 2024
Anonim
Конвектор или масляный радиатор - что лучше и что выбрать?
Відеоролик: Конвектор или масляный радиатор - что лучше и что выбрать?

Зміст


Обидва "покажчик" та "посилання" використовуються для вказівки або посилання на іншу змінну. Але основна відмінність обох з них полягає в тому, що змінна вказівника вказує на змінну, місце пам'яті якої зберігається в ній. Довідкова змінна є псевдонімом змінної, яка присвоєна їй. Таблиця порівняння нижче вивчає інші відмінності між вказівником та еталоном.

  1. Порівняльна діаграма
  2. Визначення
  3. Ключові відмінності
  4. Висновок

Порівняльна діаграма

Основа для порівнянняПокажчикДовідково
ОсновніВказівник - адреса пам'яті змінної.Посилання є псевдонімом змінної.
ПовертаєтьсяЗмінна вказівника повертає значення, розташоване за адресою, збереженою у змінній покажчика, якій передує знак *.Референсна змінна повертає адресу змінної, якій передує опорний знак &.
Оператори *, ->&
Нульова довідкаЗмінна вказівника може посилатися на NULL.Довідкова змінна ніколи не може посилатися на NULL.
Ініціалізація Можна створити неініціалізований покажчик.Неініціалізовану посилання ніколи не можна створити.
Час ініціалізаціїЗмінна вказівника може бути ініціалізована в будь-який момент часу в програмі.Довідкова змінна може бути ініціалізована лише на момент її створення.
РеініціалізаціяЗмінна вказівника може бути повторно ініціалізована стільки разів, скільки потрібно.Довідкову змінну більше не можна повторно ініціалізувати в програмі.


Визначення покажчика

"Покажчик" - це змінна, яка містить місце в пам'яті іншої змінної. Оператори, що використовуються змінною вказівника, є * і ->. Декларація змінної вказівника містить базовий тип даних, а потім знак "*" та ім'я змінної.

введіть * var_name;

Давайте розберемося вказівник за допомогою прикладу.

int a = 4; int * ptr = & a; cout <тоді як контрольним оператором є &.

  • Змінна вказівника, якщо не містить адреси будь-якої змінної, вона вказує на null. З іншого боку, контрольна змінна ніколи не може посилатися на Null.
  • Ви завжди можете створити неіціалізовану змінну вказівника, але ми створюємо посилання, коли нам потрібен псевдонім якоїсь змінної, щоб ви ніколи не могли створити неіціалізовану референцію.
  • Ви можете повторно ініціалізувати покажчик, але як тільки ви ініціалізуєте arefernce, ви не зможете повторно його ініціалізувати.
  • Ви можете створити порожній вказівник та ініціалізувати його в будь-який час, але рефлексію потрібно ініціалізувати лише тоді, коли ви створюєте референцію.
  • Примітка:


    Java не підтримує покажчики.

    Висновок

    І вказівник, і посилання використовуються для вказівки або посилання іншої змінної. Але обидва відрізняються за своїм використанням та реалізацією.