2009-08-29 161 views
4

待辦事項指針在C和C++支持比較運算符(><等)在標準?指針比較

我想比較陣列位置要精確。

+0

Dupe http://stackoverflow.com/questions/1098966/universal-less-for-pointers-in-c-standard等 – 2009-08-29 08:38:15

回答

12

在連續陣列比較存儲器偏移(指針)是確定。如果你的數組被實現爲鏈表(例如),那麼節點可能會遍佈所有內存,所以指針比較是無意義的。

+0

感謝您的回答。 – fsdemir 2009-08-29 05:07:46

+7

請注意,比較指向同一數組的指針的行爲未定義。 – avakar 2009-08-29 05:47:12

+3

注意,在C++中的std ::少的操作者(),標準:: less_equal ,性病::更大和std :: greater_equal 能夠有意義地比較指針不同的對象。 – AProgrammer 2009-08-29 06:46:03

2

是的,他們可以比擬的。

例如,參見在一種在C的舊草案的進一步信息,在6.5.8 C99和5.9標準「關係運算符」 ++(2006-11)。

+2

隨着指針必須指向相同的連續塊內存的caviat是分配在一個分配。兩個隨機指針不能被比較。 – 2009-08-29 07:28:40