Я хочу вывести константу из boost::shared_ptr
, но я boost::const_pointer_cast
не является ответом.boost::const_pointer_cast
хочет const boost::shared_ptr<T>
, а не boost::shared_ptr<const T>
.Давайте воздержимся от обязательного «вы не должны этого делать».Я знаю ... но мне нужно сделать это ... так, какой самый лучший / самый простой способ сделать это?
Для ясности:
boost::shared_ptr<const T> orig_ptr( new T() );
boost::shared_ptr<T> new_ptr = magic_incantation(orig_ptr);
Мне нужно знать magic_incantation()