gpt4 book ai didi

c++ - 有什么好方法可以确定一个对象是否是另一个对象的克隆?

转载 作者:行者123 更新时间:2023-11-30 01:14:08 25 4
gpt4 key购买 nike

想到使用相等运算符,但您需要定义它,这意味着每次将新数据成员添加到该类时都要更新它。这需要对所有正在检查的类进行。还有什么好的方法吗?

最佳答案

对于任何复杂到足以管理其自身资源的事物,您都需要一个相等运算符是有原因的。没有好的自动比较方法。按位比较适用于 POD 类型,但没有别的。任何指针成员都可能指向不同的地址,即使该对象在逻辑上可能看起来是一个克隆1。此外,该标准对类的内存布局不是很具体,因此即使缺少指针和虚函数,它也可能会失败(或者至少可能是 UB)。


1。我认为比较是复杂对象的基本逻辑操作。 POD 类型恰好可以按位比较,因为它们相等,当且仅当它们按位相等。

关于c++ - 有什么好方法可以确定一个对象是否是另一个对象的克隆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30618776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com