23.1 -3- The type of objects stored in these components must meet the requirements of CopyConstructible types, and the additional requirements of Assignable types.
でも、規格(ISO 14882-1998)では... 5.10 - Equality operators [expr.eq]の-1- >...Pointers to objects or functions of the same type (after pointer >conversions) can be compared for equality. Two pointers of the >same type compare equal if and only if they are both null, both >point to the same object or function, or both point one past the >end of the same array. うーん、この文の中では同一オブジェクトへのポインタ同士はequalだと 書かれているが・・。
>>672 5.10 Equality operators の 1 > Pointers to objects or functions of > the same type (after pointer conversions) can be compared for equality. Two pointers of the same type > compare equal if and only if they are both null, both point to the same object or function, or both point one > past the end of the same array. 比較演算に関しては確かに不定と書いてあるんだが、==, != に関しては問題なさげ。
>>676 違うオブジェクト/配列を指すポインタ同士の大小比較は 実装はともかく規格上では unspecified なのだが、 less とか greater とかのテンプレート だと、20.3.3 Comparisons: > 8 For templates greater, less, greater_equal, and less_equal, the spe- > cializations for any pointer type yield a total order, even if the > built-in operators <, >, <=, >= do not. 正しく全順序がつく( (p<q && q<r) == true なら (p<r) == true になる、etc... ) ことが定められている。っちうこと。