Пошаговое руководство по С++

С++ ГЛАВНАЯ Введение в С++ С++ Начать Синтаксис С++ Вывод С++ С++ Комментарии Переменные С++ Пользовательский ввод С++ Типы данных С++ Операторы С++ Строки С++ С++ Математика Логические значения С++ Условия С++ Переключатель С++ C++ пока цикл С++ для цикла С++ Перерыв/Продолжение Массивы С++ Ссылки на С++ Указатели С++

Функции С++

Функции С++ Параметры функции С++ Перегрузка функций C++

Классы С++

С++ ООП Классы/объекты С++ Методы класса С++ Конструкторы С++ Спецификаторы доступа C++ Инкапсуляция С++ Наследование С++ Полиморфизм С++ Файлы С++ Исключения С++

С++ Как

Добавить два числа

Примеры С++

Примеры С++ Компилятор С++ Упражнения по С++ Викторина по С++


Разыменование С++


Получить адрес памяти и значение

В примере с предыдущей страницы мы использовали переменную-указатель для получения адреса памяти переменной (используется вместе с оператором & ссылки ). Однако вы также можете использовать указатель для получения значения переменной, используя *оператор ( оператор разыменования ):

Пример

string food = "Pizza";  // Variable declaration
string* ptr = &food;    // Pointer declaration

// Reference: Output the memory address of food with the pointer (0x6dfed4)
cout << ptr << "\n";

// Dereference: Output the value of food with the pointer (Pizza)
cout << *ptr << "\n";

Обратите внимание, что здесь *знак может сбивать с толку, так как в нашем коде он выполняет две разные функции:

  • При использовании в объявлении (string* ptr) он создает переменную-указатель .
  • Когда он не используется в объявлении, он действует как оператор разыменования .