C++ Покажчики (вказівники)
Створення покажчиків
З попереднього розділу ви дізналися, що ми можемо отримати адресу пам’яті змінної за допомогою оператора &:
Приклад
string food = "Pizza"; // Змінна food типу string
cout << food; // Виведе значення food (Pizza)
cout << &food; // Виведе адресу пам’яті food (0x6dfed4)
Спробуйте самі »
Однак покажчик — це змінна, яка зберігає адресу пам’яті як своє значення.
Змінна покажчика вказує на тип даних (наприклад, int або string) того самого типу, і створюється за допомогою оператора *. Адреса змінної, з якою ви працюєте, призначається покажчику:
Приклад
string food = "Pizza"; // Змінна food типу string
string* ptr = &food; // Вказівник змінної з назвою ptr, яка зберігає адресу food
// Виведе значення food (Pizza)
cout << food << "\n";
// Виведе адресу пам’яті food (0x6dfed4)
cout << &food << "\n";
// Виведе адресу пам’яті food за допомогою покажчика (0x6dfed4)
cout << ptr << "\n";
Спробуйте самі »
Пояснення прикладу
Створіть змінну-вказівник із назвою ptr, яка вказує на змінну string, використовуючи знак зірочки * (string* ptr). Зауважте, що тип покажчика має відповідати типу змінної, з якою ви працюєте.
Використовуйте оператор &, щоб зберегти адресу пам’яті змінної під назвою food і призначити її вказівнику.
Тепер ptr містить значення адреси пам’яті food.
Порада: Є три способи оголошення змінних покажчиків, але першому способу надається перевага:
string* mystring; // Перевага
string *mystring;
string * mystring;