С++ 11 std:: shared_ptr < > предоставляет своего рода оператор bool.
operator unspecified-bool-type() const;
(Это не прямая operator bool() const
из-за опасностей от неявного литья типа bool
.)
Почему у std:: weak_ptr < > нет аналогичного оператора? Я постоянно набираю
if( !wp.expired() )
когда я хочу напечатать
if( wp )
Почему нет bool-преобразования для weak_ptr?