在 C++ 中重载“==”运算符时,是否有关于明确表示相等性的标准定义,或者有一组关于“==”应该如何表现的准则?
我目前有一个类不会将其整个自身存储在内存中。它基本上使用优先级队列来确定其内部对象被使用的频率,以及何时从队列末尾弹出对象,它们会从内存中删除并写入磁盘。
所以现在问题出现在相等上,这两个对象相等意味着什么。因为我们可以从在各个方面都相同的对象 A 和 B 开始,所以它们将相同的数据加载到内存中,并且它们在磁盘上具有相同的数据。但是在 A 和 B 上调用了一系列函数之后,它们现在可能会有所不同。A 和 B 在磁盘上仍然有相同的数据,但它们将不同的数据加载到内存中。所以问题是应该A == B
解析为真还是假?
是否有一套规则或指南来定义这应该如何工作?或者这只是我决定什么对程序最有意义并记录“==”做什么的情况?