Для чего используется Boost's shared_ptr (shared_ptr <Y> const & r, T * p)?

boost::shared_ptr имеет необычный конструктор

template shared_ptr(shared_ptr const & r, T * p);

и я немного озадачен тем, для чего это было бы полезно. В основном это разделяет собственность сr, но.get() вернусь .pне !r.get()

Это означает, что вы можете сделать что-то вроде этого:

int main() {
    boost::shared_ptr x(new int);
    boost::shared_ptr y(x, new int);

    std::cout < x.get() < std::endl;
    std::cout < y.get() < std::endl;

    std::cout < x.use_count() < std::endl;
    std::cout < y.use_count() < std::endl;
}

Ответы на вопрос(6)

Ваш ответ на вопрос