"falk at debian dot org" <[EMAIL PROTECTED]> writes: | ------- Additional Comments From falk at debian dot org 2005-07-14 15:37 ------- | (In reply to comment #7) | | > I'm failing to find anything in the C++ standard that suggests that the | > following shall be undefined | > | > (reinterpret_cast<int*>(0) + 5) - 5 | | If (reinterpret_cast<int*>(0) + 5) - 5 is not undefined, then neither is | reinterpret_cast<int*>(0) + 5. Then what is its result, by which paragraph | in the standard?
The standard says that the mapping used by reinterpret_cast to turn an integer into a pointer is *implemented-defined*. It is not undefined. GCC uses the "obvious" mapping, which is reinterpret_cast<int*>(0) is the null pointer. -- Gaby