2012-04-19 56 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