How can I use std::shared_ptr for array of double? Additionally what are advantages/disadvantages of using shared_ptr.
You can also provide an array deleter:
template class ArrayDeleter { public: void operator () (T* d) const { delete [] d; } }; int main () { std::shared_ptr array (new double [256], ArrayDeleter ()); }