Я видел код, который использует std::shared_ptr
с пользовательским удалением, который проверяет аргумент для nullptr, например, MyClass
, который имеет метод close()
и построен с некоторым CreateMyClass
:
auto pMyClass = std::shared_ptr<MyClass>(CreateMyClass(),
[](MyClass* ptr)
{
if(ptr)
ptr->close();
});
Имеет ли смысл тестировать ptr
на неопределенность в deleter?
Может ли это случиться? как?