From: Greg Colvin (Gregory.Colvin_at_[hidden])
Date: 2002-08-12 16:55:25
At 10:00 AM 08/12/2002, David Abrahams wrote:
>From: "Philippe A. Bouchard" <philippeb_at_[hidden]>
>> > I'm not sure if this ptr<> type under discussion works this way, but in
>> > general you can't conformingly use char* arithmetic with offsets to
>> > the sub-parts of non-POD types.
>> The offsets are what static_cast<>s return.
>No, static_cast<> returns pointers, not offsets.
>The standard doesn't guarantee that the offset calculated from a given
>static_cast will work again, given the same source and target types.
>Actually doing the static_cast is the only portable way to find the Base*
>from a Derived*. Indirection through a function pointer which does the
>static_cast might be an option.
This is the kind of code that is trying to fast, rather
than portable, so indirection through a function pointer
would probably be inappropriate.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk