Related articles |
---|
Implementation of static_cast<> bgera@hotmail.com (2002-01-14) |
Re: Implementation of static_cast<> alainm@cup.hp.com (Alain Miniussi) (2002-01-17) |
Re: Implementation of static_cast<> vbdis@aol.com (2002-01-17) |
From: | Alain Miniussi <alainm@cup.hp.com> |
Newsgroups: | comp.compilers |
Date: | 17 Jan 2002 00:29:27 -0500 |
Organization: | HP |
References: | 02-01-056 |
Keywords: | C++ |
Posted-Date: | 17 Jan 2002 00:29:27 EST |
Bond wrote:
> Im curious to know the implementation of static_cast<> by the C++ compiler.
> Since it is a better version than "C" style casts...
>
> I assume something like:
>
> 1) try to get the type of the non-polymorphic object. something like "typeid()"
> 2) try to match the given pointer/type to the type of the template parameter
> 3) If success return after casting ( "C" style ? ) else return null.
That's dynamic_cast<> (applied to pointers).
static_cast<>, when it can be used, works like the C cast, the compiler just
check for some constraints on the types at compile time.
You can take a look at any C++ book for more details.
Return to the
comp.compilers page.
Search the
comp.compilers archives again.