簡體   English   中英

“ this ==&x”是確定指針(this)和引用(x)是否指向同一對象的正確方法嗎?

[英]Is `this == &x` the correct way to determine if a pointer (this) and a reference (x) point to the same object?

我有一個類,並且在該類內部,有一個函數將同一個類的另一個實例作為參數。 在此函數中,我需要做一些事情,但前提是所傳遞的參數與當前實例不相同。 以下代碼是執行此操作的正確方法嗎?

class Foo
{
    void Foo::func(Foo &other)
    {
        if (this != &other)
            // do stuff
    }
}

是的, (ptr == &ref)是確定指針和引用是否指向同一對象的正確方法。 (從技術上講,如果operator&重載,它可能會失敗,但這是極不可能的情況,並且您顯然已經意識到,作為該類的作者。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM