我正在尝试深度复制我的变量:
QVector<PetTeam*> petTeam;
这个宠物队类还有另一个包含宠物等的QVector。我希望将它们全部深度复制,以便我可以将它们用于最小最大值 AI 中的状态,但到目前为止,我无法正确深度复制它。
如果有人能就在这种情况下进行深度复制的正确方法提供任何见解,我们将不胜感激!
如果要自动复制所有PetTeam
对象,则需要将向量声明为QVector<PetTeam> petTeam
。它要求PetTeam
有一个没有参数的构造函数和一个复制构造函数。它们是自动生成的,但如果PetTeam
包含任何无法简单复制的信息(例如文件处理程序、指向手动分配的内存的指针等(,则应重新实现它们。
另一种选择是手动复制对象,即遍历列表并使用new PetTeam(...)
为每个旧对象创建一个新对象,然后将它们放入新列表中。