Возможный дубликат:
Как освободить указатель от boost:: shared_ptr?
Функция моего интерфейса возвращает указатель на объект. Пользователь должен взять на себя ответственность за этот объект. Я не хочу возвращать Boost.shared_ptr, потому что я не хочу заставлять клиентов использовать boost. Тем не менее, внутренне я хотел бы сохранить указатель в shared_ptr, чтобы предотвратить утечку памяти в случае исключений и т.д. Кажется, что нет способа отделить указатель от общего указателя. Любые идеи здесь?