Разница между указателем и ссылкой

Автор: Laura McKinney
Дата создания: 1 Апрель 2021
Дата обновления: 10 Май 2024
Anonim
c++ ссылки что это. c++ ссылки и указатели разница. Указатель на ссылку. Для начинающих. Урок #50
Видео: c++ ссылки что это. c++ ссылки и указатели разница. Указатель на ссылку. Для начинающих. Урок #50

Содержание


«Указатель» и «ссылка» используются для указания или ссылки на другую переменную. Но основное различие между ними состоит в том, что переменная-указатель указывает на переменную, чья ячейка памяти хранится в ней. Ссылочная переменная является псевдонимом для переменной, которая ей назначена. В приведенной ниже сравнительной таблице рассматриваются другие различия между указателем и ссылкой.

  1. Сравнительная таблица
  2. Определение
  3. Ключевые отличия
  4. Вывод

Сравнительная таблица

Основа для сравненияУказательСсылка
основнойУказатель является адресом памяти переменной.Ссылка является псевдонимом для переменной.
ВозвращаетПеременная указателя возвращает значение, расположенное по адресу, хранящемуся в переменной указателя, которому предшествует знак указателя *.Ссылочная переменная возвращает адрес переменной, перед которой стоит знак ссылки &.
операторы *, ->&
Нулевая ссылкаПеременная-указатель может ссылаться на NULL.Ссылочная переменная никогда не может ссылаться на NULL.
инициализация Неинициализированный указатель может быть создан.Неинициализированная ссылка никогда не может быть создана.
Время инициализацииПеременная-указатель может быть инициализирована в любой момент времени в программе.Ссылочная переменная может быть инициализирована только во время ее создания.
переинициализацияПеременная-указатель может быть повторно инициализирована столько раз, сколько требуется.Переменная-ссылка никогда не может быть повторно инициализирована в программе.


Определение указателя

«Указатель» - это переменная, которая содержит место в памяти другой переменной. Операторы, используемые переменной-указателем - это * и ->. Объявление переменной указателя содержит базовый тип данных, за которым следуют знак «*» и имя переменной.

тип * var_name;

Давайте разберем указатель с помощью примера.

int a = 4; int * ptr = & a; cout <тогда как, оператор ссылки - &.

  • Переменная-указатель if не содержит адреса какой-либо переменной и указывает на ноль. С другой стороны, ссылочная переменная никогда не может ссылаться на Null.
  • Вы всегда можете создать унитизированную переменную указателя, но мы создаем ссылку, когда нам нужен псевдоним некоторой переменной, чтобы вы никогда не могли создать унитализованную ссылку.
  • Вы можете повторно инициализировать указатель, но после инициализации arefernce вы не сможете повторно инициализировать его снова.
  • Вы можете создать пустой указатель и инициализировать его в любое время, но вы должны инициализировать ссылку только при создании ссылки.
  • Заметка:


    Java не поддерживает указатели.

    Вывод

    Указатель и ссылка используются для указания или ссылки на другую переменную. Но оба отличаются по своему использованию и реализации.