一些指標比較的結果
如果使用 <
,>
,<=
或 >=
比較兩個指標,則在以下情況下未指定結果:
-
指標指向不同的陣列。 (非陣列物件被視為大小為 1 的陣列。)
int x; int y; const bool b1 = &x < &y; // unspecified int a[10]; const bool b2 = &a[0] < &a[1]; // true const bool b3 = &a[0] < &x; // unspecified const bool b4 = (a + 9) < (a + 10); // true // note: a+10 points past the end of the array
-
指標指向同一個物件,但指向具有不同訪問控制的成員。
class A { public: int x; int y; bool f1() { return &x < &y; } // true; x comes before y bool f2() { return &x < &z; } // unspecified private: int z; };