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