Re: a C++ question about union
Ian Collins wrote:
Victor Bazarov wrote:
Ian Collins wrote:
JDT wrote:
NM_UPDOWN
With UDN_DELTAPOS notification handler, MS passes a pointer to
NMHDR which yo can cast to NM_UPDOWN*. With NMHDR (shown below) ,
you can use "iDelta" to know the amount it spins while with NMHDR
you can use "code" to know the event type. What I don't
understand is why the same storage (the overlap of the last int
and unsigned int) can provide two different values by casting. Is
it not union, is it? This is a C++ (or even a C) question. If I
underhand it, I may exploit the same tech for my own. Your advise
is appreciated. JD
It's not a technique, it's a horrible kludge.
[Mostly directed at the OP]
IOW, there are more reliable ways to do that in C++. However, in C,
since there is no inheritance, relying on certain relationship
between a pointer to a struct member and and the struct object itself
is not completely unheard of. Think "offsetof" macro.
It's still a horrible kludge. If you want to do such things in C,
use a union of structures with the first member of each struct being
the type identifier.
I don't see how it's better, and that's probably why I don't understand
the "horrible" attribute you used in your charcterisation.
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask