weak-ptr

Согласно документации std::weak_ptr можно построить constexpr weak_ptr: #include <memory> constexpr weak_ptr<int> foo{}; Однако попытка сделать это с помощью clang приводит к ошибке компиляции, жалующейся на то, что переменная constexpr не может иметь нелитеральный Тип 'const std::weak_ptr<i...

Я начал изучать смарт-указатели C++11, и я не вижу никакого полезного использования std::weak_ptr. Может кто-нибудь сказать мне, когда std::weak_ptr полезно/нужно?...

Я понимаю, как использовать weak_ptr и shared_ptr. Я понимаю, как shared_ptr работает, подсчитывая количество ссылок в своем объекте. Как это weak_ptr работы? Я попытался прочитать исходный код boost, и я недостаточно знаком с boost, чтобы понять все, что он использует. спасибо....