关于C ++,三规则是什么?
使用C++时,三个规则是经验法则。这是一种好的做法,它规定:如果您的班级需要以下任何一项
复制构造函数
赋值运算符
或破坏者
明确定义,则可能需要全部三个。
为什么是这样?这是因为,如果您的课程要求上述任何一项,则它正在管理动态分配的资源,并且可能需要其他资源才能成功实现这一目标。例如,如果您需要赋值运算符,则将创建当前正在通过引用复制的对象的副本,从而分配资源。您将需要使用复制构造函数进行复制,并需要使用析构函数来释放这些资源。
使用C++时,三个规则是经验法则。这是一种好的做法,它规定:如果您的班级需要以下任何一项
复制构造函数
赋值运算符
或破坏者
明确定义,则可能需要全部三个。
为什么是这样?这是因为,如果您的课程要求上述任何一项,则它正在管理动态分配的资源,并且可能需要其他资源才能成功实现这一目标。例如,如果您需要赋值运算符,则将创建当前正在通过引用复制的对象的副本,从而分配资源。您将需要使用复制构造函数进行复制,并需要使用析构函数来释放这些资源。