Well, C-style casts are still useful because, unlike dynamic_cast, they
need neither RTTI nor run-time checks, making the compiled code somewhat
smaller and faster. You just need to be very careful with them. :-)
On May 22, 2013 8:52 PM, "Jonathan Greig" <redteam...@gmail.com> wrote:

> Thank you André. The dynamic_cast worked perfectly. I'm from a C
> background and have been doing C-style casts for years without any major
> problems. Apparently this guy has also:)
> http://stackoverflow.com/questions/28002/regular-cast-vs-static-cast-vs-dynamic-cast
>
> - Swyped from my droid.
>
> On May 22, 2013 9:21 AM, "André Somers" <an...@familiesomers.nl> wrote:
>
> Op 22-5-2013 16:03, Jonathan Greig schreef:
>
>>          BaseObject* base = (BaseObject*)item;
>>          if(base) { base->setObjectRubberPoint(**key, point); }
>>
> The above looks suspicious. The cast you're doing here is unsafe. Your
> check on base on the second line is useless, as the C-style cast you're
> using doesn't do any checking. So, my suspicion is that your item isn't a
> BaseObject, and thus the method call you make into it is going to fail. Use
> a dynamic_cast<BaseObject*>(**item) for your cast instead. That cast _
> will_  result in a 0 pointer if the cast fails.
>
>
>
> André
>
> --
> You like Qt?
> I am looking for collegues to join me at i-Optics!
>
>
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
>
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to