2012-04-19 24 views

回答

3

它调用赋值运算符,如this->operator=(*that);

+0

所以我写了一个容器类,每个对象的单元格都被输入了。我正在写赋值操作符 - 是否安全地执行* thisObject = * thatObject?如果它是一个动态分配对象的容器,那么将调用thisobject类的正确构造函数?如果'thisObject'不是一个指针呢? – Raekye 2012-04-19 05:12:16

+0

如果您的容器的赋值操作符复制构造原始对象的副本而不是分配它们,这可能会更好,因为一般情况下,您不知道将其分配给谁。基本上,如果你正在重写'vector',就像'vector'那样做。 – 2012-04-19 10:09:43

+0

我不太确定你的意思 - 目前我正在删除'this'栈中的所有单元格(我正在编写一个栈),重置它的变量,然后遍历'that'栈并将它们添加到'这个'堆栈。我想我也想知道如何检查类型是否是指针 - 如果是这样的话,我会使用上面的解引用赋值来希望执行深层复制并将其推送到堆栈。如果不是这样,我需要找到一种不使用解除引用的方法来避免错误 – Raekye 2012-04-19 13:39:34