Why would one prefer to use a private copy constructor over deleting the copy constructor in C++?
E.g.:
class Entity { private: Entity(const Entity ©) // <== private copy constructor { /* do copy stuff */ } public: /* more code here... */ } As opposed to:
class Entity { public: Entity(const Entity ©) = delete; // <== copy constructor deleted /* more code here... */ } Related questions that don't quite answer what I'm asking: