chris jefferson wrote: >>Right, but that's the point. "doing arithmetic on arbitrary pointer" >>values is >>not defined, it is not even defined to compare two pointers pointing >>to two >>different objects. >> >While that is true according to the standard, I believe that on most >systems you can compare any two pointers. In particular, the C++ >standard does require a total ordering on pointers, and at the moment >that is implemented for all systems by just doing "a < b" on the two >pointers. > > Humpf! Can people please cite exact paragraphs of the relevant Standards? Otherwise, I think we are just adding to the confusion. For example, in my reading of C99 6.5.9 and C++03 5.10 pointers *can* be compared for equality and discussing separately and correctly relational operators and equality operators is not a language-lawyer-ism, is *very* important for its real world implications. But this is only an example...
Paolo.