that this->bigdouble may already be deleted by a copy
Did you understand that. If you don't define a copy constructor but use it, the copy will point to the same dynamically allocated array. If either of them goes out of scope, the other is left with a dangling pointer since the destructor deletes the shared array. When the second one goes out of scope, its destructor attempts to delete the shared array again. All kinds of funny things (can) come out of this.

This won't be a problem if you switch to std::vector, since that manages resource allocation, deallocation and copying for you.