我在C/C++中寻找Java等效的指针比较.
假设我正在从第三方调用类的对象的getSomething()方法.我怎么知道getSomething()的实现是每次只返回相同的实例还是返回对象的不同实例?我不是要检查两个对象是否相同,但需要检查它们是否是同一个实例.动机是,如果第三方实现每次都在创建一个新实例,可能我可以通过不每次调用该方法来优化我的代码.假设getSomething()在运行时被我每秒调用1000次
从我从各种文章中读到的内容,我不应该依赖hashCode().在那种情况下,这样做的方法是什么?
当引用类型根据==(标识)运算符等效时,它们"指向"相同的对象.
问题是:
我不是要检查两个对象是否相同,但需要检查它们是否是同一个实例 (强调我的)
你实际上将平等与身份混合在一起(正如我最初在答案中所做的那样).同一个实例是身份.同样的价值就是平等.