C++如何判断两个对象是否是同一个对象?判断两个对象的地址可以吗?

2024-11-30 03:11:38
推荐回答(3个)
回答1:

不明白,你这里说的相同是指相等呢??还是指两个指针指向同一个对象那样的相同??

如果判断相等,则不可以使用地址:
判断两个对象是否相等,就是判断这两个对象的所有数据成员的值是否相等。
例如:
一个类A含有一个数据成员 int ID;
则由该类生成两个对象:
A b,c;
则判断b和c是否相等,则 判断 b.ID 是否和c.ID相等。

如果判断两个指针指向同一个对象,则可以使用地址。

回答2:

地址相同自然是同一个对象了

自定义类你可以重载operator ==啊

回答3:

可以用auto_ptr保存一个对象,则这个对象是唯一的,就不用判断了。