V
Vincent Lefevre
In comp.std.c, article <[email protected]>,
I see your point, but I think that the definition of "effective type"
is badly worded. First, what is an effective type? Is it attached to
an object (once stored) or to a pair (object,access)? After rereading
the paragraph, it seems to always be the later (the effective type of
an object for a specific access), but the last sentence:
For all other accesses to an object having no declared type,
the effective type of the object is simply the type of the
lvalue used for the access.
would need to be changed to:
For all other accesses to an object having no declared type,
the effective type of the object *for that access* is simply
the type of the lvalue used for the access.
Otherwise one doesn't know for which access(es): For that access
only? For that access and for subsequent accesses that do not
modify the stored value, as in the previous cases?
The following would be simpler, IMHO:
For all other accesses to an object, the effective type of the
object *for that access* is simply the type of the lvalue used
for the access.
[...]James Kuyper said:Which means that it does not establish an effect type for the memory
affected by the memset() call. However, that memory doesn't need to have
an effective type at this point; it will acquire an effective type at
the point where the value of that object is read. The key points are that:
I see your point, but I think that the definition of "effective type"
is badly worded. First, what is an effective type? Is it attached to
an object (once stored) or to a pair (object,access)? After rereading
the paragraph, it seems to always be the later (the effective type of
an object for a specific access), but the last sentence:
For all other accesses to an object having no declared type,
the effective type of the object is simply the type of the
lvalue used for the access.
would need to be changed to:
For all other accesses to an object having no declared type,
the effective type of the object *for that access* is simply
the type of the lvalue used for the access.
Otherwise one doesn't know for which access(es): For that access
only? For that access and for subsequent accesses that do not
modify the stored value, as in the previous cases?
The following would be simpler, IMHO:
For all other accesses to an object, the effective type of the
object *for that access* is simply the type of the lvalue used
for the access.