Посилання проти вказівників
Свайпніть щоб показати меню
Посилання та вказівники забезпечують непрямий доступ до значень змінних, але між ними існують ключові відмінності, а також переваги й недоліки.
Синтаксис
-
Вказівники оголошуються за допомогою символу
*; -
Посилання оголошуються за допомогою символу
&.
Ініціалізація
Неможливо оголосити порожнє посилання. Але можна оголосити порожній вказівник за допомогою nullptr.
Перепризначення
Посилання не можна перепризначити для вказівки на інший об'єкт.
main.cpp
12345678910111213#include <iostream> int main() { int x = 125, y = 500; // creating a reference to x variable int& ref_x = x; ref_x = y; // attempt to re-assigned ref_x ref_x = 0; std::cout << x << ' ' << y; }
Вказівники можна перепризначати для вказівки на різні області пам'яті
main.cpp
12345678910111213#include <iostream> int main() { int x = 125, y = 500; // creating a pointer to x variable int* ptr = &x; ptr = &y; // attempt to re-assigned ref_x *ptr = 0; std::cout << x << ' ' << y; }
Доступ до значення
Щоб отримати значення, на яке вказує покажчик, використовується оператор розіменування *. Для посилань не потрібно використовувати спеціальні оператори; достатньо звернутися до змінної-посилання безпосередньо.
Покажчики та посилання є ключовими елементами керування пам'яттю, забезпечуючи гнучкість програм. Їх використання залежить від контексту.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат