РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
640 of 815 menu

Оператор *

Оператор * класса unique_ptr выполняет разыменование умного указателя и возвращает ссылку на объект, которым он управляет. Этот оператор позволяет получить прямой доступ к значению, хранящемуся по адресу, которым владеет unique_ptr. Оператор не принимает параметров и возвращает ссылку на тип, которым параметризован умный указатель. Использовать оператор * можно только в том случае, если unique_ptr не является пустым, иначе поведение программы будет неопределенным.

Синтаксис

*ptr

Пример

Давайте создадим умный указатель на число 42 и получим доступ к значению через оператор *:

#include <iostream> #include <memory> using namespace std; int main() { unique_ptr<int> ptr = make_unique<int>(42); cout << *ptr << endl; return 0; }

Результат выполнения кода:

42

Пример

Оператор * можно использовать для изменения значения, на которое указывает unique_ptr. Давайте изменим число на 100:

#include <iostream> #include <memory> using namespace std; int main() { unique_ptr<int> ptr = make_unique<int>(42); *ptr = 100; cout << *ptr << endl; return 0; }

Результат выполнения кода:

100

Пример

Давайте создадим unique_ptr на строку и выведем ее длину, используя оператор * и метод length:

#include <iostream> #include <memory> #include <string> using namespace std; int main() { unique_ptr<string> ptr = make_unique<string>("abcde"); cout << (*ptr).length() << endl; return 0; }

Результат выполнения кода:

5

Смотрите также

  • класс unique_ptr,
    который представляет умный указатель с уникальным владением
  • метод get,
    который возвращает сырой указатель
  • метод operator->,
    который предоставляет доступ к членам объекта
  • функция make_unique,
    которая создает объект и возвращает unique_ptr на него
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить