Практика умных указателей в C++
Создайте std::unique_ptr<int>
со значением 6. Получите адрес
методом get, удвойте число через
сырой указатель и выведите значение из
unique_ptr.
Объявите std::unique_ptr<int>
с 10. Заберите владение через
release, выведите число и
освободите память delete.
Сделайте класс Ping с деструктором,
печатающим ping. Держите его
в unique_ptr, вызовите reset
до конца main и убедитесь,
что ping появляется в выводе.
Выделите std::unique_ptr<int[]>
длиной 3. Запишите в ячейки
5, 10, 15
и выведите значение среднего индекса.
Опишите struct Left с
shared_ptr<Right> и
struct Right с weak_ptr<Left>
(объявите Right заранее).
Свяжите два make_shared-объекта
и добавьте деструкторы с разными метками.
Проверьте, что обе метки печатаются
при завершении программы.