Задачи на умные указатели в C++. Часть 1
Создайте std::unique_ptr<int> через std::make_unique.
Создайте std::unique_ptr<std::string>.
Передайте unique_ptr в функцию через std::move.
Создайте std::shared_ptr и выведите счётчик ссылок.
Создайте std::weak_ptr и проверьте expired.
Сравните new/delete и unique_ptr.
Создайте shared_ptr на объект класса.
Сделайте фабричную функцию, возвращающую unique_ptr.
Сделайте vector<unique_ptr<T>>.
Разорвите циклическую ссылку через weak_ptr.