I was recently implementing the copy constructor and copy assignment operator for a class that manages a dynamically allocated object, and learnt about the copy-and-swap idi