Есть несколько интересных вопросов о ловушках с boost::shared_ptr s. В одном из них есть полезный совет, чтобы не указывать boost::shared_ptr<Base> и boost::shared_ptr<Derived> на тот же объект типа Derived, поскольку они используют разные подсчеты ссылок и могут преждевременно уничтожить объект.
Мой вопрос: безопасно ли, чтобы оба boost::shared_ptr<T> и boost::shared_ptr<const T> указывали на один и тот же объект типа T, или это вызовет ту же проблему?