为什么在C ++中为什么要使用私有副本构造函数而不是删除副本构造函数?
例如:
class Entity
{
private:
Entity(const Entity ©) // <== private copy constructor
{
/* do copy stuff */
}
public:
/* more code here... */
}
相对于:
class Entity
{
public:
Entity(const Entity ©) = delete; // <== copy constructor deleted
/* more code here... */
}
不能完全回答我所问问题的相关问题:
答案 0 :(得分:2)
2个可能的原因:
您不能使用C ++ 11或更高版本
您需要该类的对象可以通过该类的方法或其朋友来复制,但不能通过其他任何方式复制