Разлика между показалец и референция
Автор:
Laura McKinney
Дата На Създаване:
1 Април 2021
Дата На Актуализиране:
1 Юли 2024
Съдържание
И двата „показалеца“ и „препратка“ се използват за насочване или отнасяне на друга променлива. Но основната разлика между тях е, че променливата на показалеца сочи към променлива, чието място в паметта се съхранява в нея. Референтната променлива е псевдоним на променлива, която му е присвоена. Сравнителната диаграма по-долу изследва другите разлики между показалец и референция.
- Сравнителна диаграма
- дефиниция
- Ключови разлики
- заключение
Сравнителна диаграма
Основа за сравнение | показалка | препратка |
---|---|---|
Основен | Показалецът е адресът на паметта на променлива. | Референцията е псевдоним на променлива. |
Се завръща | Променливата на показалеца връща стойността, разположена на адреса, съхраняван в променлива на показалеца, който се предхожда от знака на показалеца *. | Референтната променлива връща адреса на променливата, предшествана от референтния знак &. |
Операторите | *, -> | & |
Нулева справка | Променливата на показалеца може да се отнася до NULL. | Референтната променлива никога не може да се отнася до NULL. |
Инициализация | Може да се създаде неинициализиран указател. | Никога не може да се създаде неинициализирана справка. |
Време за инициализация | Променливата на показалеца може да се инициализира по всяко време в програмата. | Референтната променлива може да се инициализира само в момента на нейното създаване. |
Reinitialization | Променливата на показалеца може да се реинициализира толкова пъти, колкото е необходимо. | Референтната променлива никога не може да се реинициализира отново в програмата. |
Определение на Pointer
„Указател“ е променлива, която държи мястото на паметта на друга променлива. Операторите, използвани от променливата на показалеца, са * и ->. Декларацията на променливата на показалеца съдържа основния тип данни, последван от знака '*' и името на променливата.
тип * var_name;
Нека разберем показалеца с помощта на пример.
int a = 4; int * ptr = & a; cout <като има предвид, че референтният оператор е &.
Забележка:
Java не поддържа указатели.
заключение
И двата показалеца и референцията се използват за насочване или отнасяне на друга променлива. Но и двете се различават по тяхното използване и изпълнение.