3 回答

TA貢獻1817條經(jīng)驗 獲得超6個贊
5.10平等經(jīng)營者 [expr.eq]
1 ==(等于)和!=(不等于)運算符組從左到右。操作數(shù)應(yīng)具有算術(shù),枚舉,指針或指向成員類型或type的指針std::nullptr_t。運算符==和!=兩者都產(chǎn)生true或false,即type的結(jié)果bool。在下面的每種情況下,在應(yīng)用了指定的轉(zhuǎn)換之后,操作數(shù)應(yīng)具有相同的類型。
2 如果至少一個操作數(shù)是一個指針,則對兩個操作數(shù)都執(zhí)行指針轉(zhuǎn)換(4.10)和限定轉(zhuǎn)換(4.4),以使其變?yōu)槠鋸?fù)合指針類型(第5條)。比較指針的定義如下:如果兩個指針都為null,都指向相同的函數(shù)或都表示相同的地址(3.9.2),則兩個指針比較相等,否則,它們比較不相等。
讓我們逐點看一下:
兩個空指針比較相等。
對您的理智有好處。
指向同一函數(shù)的兩個指針比較相等。
其他任何事情都將非常令人驚訝。
這也意味著任何inline功能只能有一個離線版本的地址,除非您想使功能指針比較非常復(fù)雜和昂貴。
兩者代表相同的地址。
現(xiàn)在,這就是全部。將其刪除并簡化if and only if為一個簡單的if解釋就可以了,但這是使兩個函數(shù)完全相同的明確要求,只要它不會改變一致性程序的可觀察行為即可。
- 3 回答
- 0 關(guān)注
- 335 瀏覽
添加回答
舉報