[haiku-commits] Re: r38086 -DA haiku/trunk/src/servers/app/drawing/Painter

  • From: Rene Gollent <anevilyak@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 13 Aug 2010 13:48:32 -0400

On Fri, Aug 13, 2010 at 12:33 PM, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote:
> static_cast is a compile time cast, i.e. the pointer offset is computed at
> compile time. At run time the operation consists of a NULL pointer check and
> an addition of the (hardcoded) offset. The obvious requirement for the
> applicability of static_cast is that the two involved classes are related.
> You can static_cast between BNode* and BFile* (both directions), but not
> between BNode* and BPositionIO*, regardless of whether the object is a BFile.
> Unless the given pointer is NULL, static_cast always succeeds, even, if the
> object is actually not of the target type (e.g. BNode* -> BFile* works also
> for BSymLink objects).

Aha, thanks for clearing that up. Apologies for the noise/previous
misinformation :)

Regards,

Rene

Other related posts: