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: