use*_*241 5 c++
可能重复: 三个规则是什么?
当您需要定义自己的赋值运算符时?
Cha*_*via 12
通常,当您需要定义自己的复制构造函数时,您需要在相同的情况下定义自己的赋值运算符 - 即默认副本不会删除它.当您的对象管理动态分配的内存或需要特殊复制的其他资源时,会发生这种情况.
例如,如果您有一个管理指向动态分配内存的指针的类,则默认赋值运算符将只复制指针.通常,这不是您想要的 - 您希望每个对象实例都有自己的已分配数据的内部副本,因此您需要一个特殊的赋值运算符来分配自己的内存并执行副本.例如,这是std::vector复制或分配时需要执行的操作.
std::vector
归档时间:
15 年,1 月 前
查看次数:
914 次
最近记录: