Paul Schlie <[EMAIL PROTECTED]> writes:

[...]

| > | With all due respect, unless there is an explicit reference in the 
standard
| > | to contradict it's clearly stated requirement that an object's qualified
| > | lvalue ("locator value") designates the object being referenced, all
| > | interpretations to the contrary are at best presumptuous, regardless of
| > | whether or not it's generalized behavior may be indeterminate.
| > | 
| > | (but regardless, at least things are successively approximating "correct")
| > 
| > I don't understand what you mean here.  Are you seriously suggesting
| > that 
| > 
| >      int main(void) {
| >         const int x = 4;
| >         *(int*)&x = 3;
| >      }
| > 
| > is well-defined?
| 
| Actually yes, I believe it's well defined that:


       [#5] If an attempt is made to modify an object defined  with
       a  const-qualified  type  through use of an lvalue with non-
       const-qualified type, the  behavior  is  undefined.   If  an
       attempt  is  made  to  refer  to  an  object  defined with a
       volatile-qualified type through use of an lvalue  with  non-
       volatile-qualified type, the behavior is undefined.113)

-- Gaby

Reply via email to