Доступ к адресу через get в C++
Метод get у std::unique_ptr
возвращает адрес управляемого объекта.
Вызов не освобождает память и не обнуляет
умный указатель: владение остается у unique_ptr.
Так удобно передать адрес в API, который ждет
обычный указатель, но не берет на себя delete.
Запишем значение и сравним адрес с результатом
get:
#include <iostream>
#include <memory>
std::unique_ptr<int> cell = std::make_unique<int>(15);
int* view = cell.get();
std::cout << (*view == *cell.get()) << "\n";
Создайте std::unique_ptr<int>
со значением 4. Сохраните адрес
через get в переменную int*
и выведите разыменованное значение.
Объявите std::unique_ptr<int>
с числом 0. Через get
запишите в объект 11 и выведите
значение через оператор разыменования
у unique_ptr.