Construct a new std::experimental::shared_ptr object that owns
a null pointer and deleter.
template<class Deleter> explicit shared_ptr(nullptr_t p,Deleter d);
Deleter is CopyConstructible.
Construct a new std::experimental::shared_ptr instance that
owns p and a copy
of d.
If sp is the newly-constructed
std::experimental::shared_ptr object, sp.unique()
and sp.get()==nullptr and get_deleter<Deleter>(sp)!=0.
This allows you to construct a std::experimental::shared_ptr for which
get member function is
nullptr, but use_count member function
is non-zero.
std::bad_alloc if memory for the internal
data structures of std::experimental::shared_ptr could not be
allocated.
If an exception is thrown, d(p) is invoked.
#include <experimental/atomic>