Does casting a pointer to an instance of a dervived class to the instances base class have any run-time overhead in C++, or is it resolved at compile-time?
If it does have any, what exactly has to be computed in the casting operation?
Example:
class Foo;
class Bar : public Foo;
Bar* y = new Bar;
Foo* x = (Foo*) y;
(I know I should use C++-style casts and that the answer is probably the same for them)