Rule of 5 模板
class 类名 {
public:
类名()
{
// 在此实现默认构造函数(初始化资源,例如 new XXX)
}
~类名()
{
// 在此实现析构函数(释放资源,例如 delete XXX)
}
类名(类名 const &other)
{
// 在此实现拷贝构造函数,确保实现深拷贝
}
void swap(类名 &other) noexcept
{
std::swap(资源名称, other.资源名称);
}
类名(类名 && other) noexcept
:类名()
{
this->swap(other);
}
类名 &operator=(类名 const &other)
{
类名 t(other);
this->swap(t);
return *this;
}
类名 &operator=(类名 &&other) noexcept
{
类名 t(std::move(other));
this->swap(t);
return *this;
}
private:
资源类型 资源名称;
};
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步