От en.cppreference.comshared_ptr и unique_ptr за исключением
Типичное использование станд :: unique_ptr включают в себя:
обеспечения безопасности исключений для классов и функций, которые обрабатывают объекты с динамической жизни, по гарантированию удаление на обоих нормальных выходах и выходах за исключением
передача собственности уникального владельца D объекты с динамической жизнью в функций
приобретающих собственность однозначно принадлежащие объекты с динамической жизнью из функций
как тип элемента в ходу-зависимых контейнеры, такие как станд :: вектор, который удерживать указатели на объекты с динамическим распределением (например, если полиморфное поведение желательно)
Я заинтересован в первом пункте.
Не указано для shared_ptr
на cppreference.com. Я не могу найти сценарий, когда shared_ptr не удаляется при вызове исключения. Может ли кто-нибудь объяснить, существуют ли такие возможности?
Цикл на графике. – user4581301
@ user4581301: Но это не проблема, связанная с исключением, не так ли? даже если это не исключение, это может привести к проблеме? – InQusitive
Нет, но это пример того, почему вы не можете гарантировать период удаления. – user4581301