So, don't do non-trivial things in copy constructors. In fact, try your best to avoid writing copy constructors at all - I can't remember the last time I wrote one.
Unless you are an experienced library writer you should think very, very hard about writing copy or move constructors (and even then, think again).
Unless you are an experienced library writer you should think very, very hard about writing copy or move constructors (and even then, think again).