C++ 指標比較大小

來源:互聯網
上載者:User
C++ 指標比較大小
對象指標的值是映射到線性地址空間的整數值,C/C++允許對兩個類型相同的對象指標進行比較運算,包括==、!=、<、>、<=、>=。所以LZ問題的答案是肯定的。對於不同類型的對象指標,經過轉換可以比較;由於C++的靜態類型檢查比C更嚴格,相同的代碼有可能C++編譯器產生編譯錯誤,而C編譯器僅因為缺少隱式轉換產生警告。C++的成員指標一般用位移量實現,但不一定表示具體的地址或位移量(可以看成一個成員不可見的結構體,和編譯器以及指向的類型相關;甚至在同一編譯器上不同成員指標類型的sizeof的結果都不是唯一的,這種情況下連按值轉換都無法實現,自然不能比較),轉換成整數是無意義的。類型不同的成員指標無法比較;類型完全相同的成員指標無法進行operator==和operator!=以外的(算術)比較運算。--1、指標就是記憶體位址。     錯誤,例如可能表示寄存器地址空間。2、指標說白了就是32位整。    錯誤,例如在16位平台上指標的值是一個16位不帶正負號的整數,在64位平台上指標的值是一個64位不帶正負號的整數。此外,共同的錯誤是,在C/C++中,指標有類型,地址作為整數,沒有類型(事實上地址根本不是語言本身應該涉及的概念)。指標可以是一個對象,地址本身只是一個右值。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.