Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-08-12 11:00:39

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.


           David Abrahams * Boost Consulting
dave_at_[hidden] *

Boost list run by bdawes at, gregod at, cpdaniel at, john at