是否有一种标准方法来比较两个身份引用,基本上实现了以下操作:
bool compareForIdentity(int& a,int& b){return &a==&b;}
Run Code Online (Sandbox Code Playgroud)
如果您想确保引用不引用同一个对象,那么是的,比较您显示的地址确实是标准方法。(内置)地址运算符返回引用的对象的地址,而不是引用的地址(从概念上可以将其视为没有任何对象表示的另一个名称)。这是通常需要的语义,例如确保复制到自身的 NOP。
为了确保确实使用内置地址运算符(而不是任何重载),如果有点棘手,似乎是可能的,参见。当 operator& 重载时,如何可靠地获取对象的地址?.
其他用途当然可能需要不同的语义,例如逻辑相等而不是物理相等。
| 归档时间: |
|
| 查看次数: |
8095 次 |
| 最近记录: |