http://www.cplusplus.com/doc/tutorial/typecasting/
上面的链接中,讲述了四种cast的用法。
其实我还是没懂。
dynamic_cast : 只能用于指针和对象的引用,目的是能使cast后的双方完全一直。
下面抄自thinking in C++ volumn one, C++ explicit casts
static_cast For “well-behaved” and
“reasonably well-behaved” casts,
including things you might now
do without a cast (such as an
automatic type conversion).
const_cast To cast away const and/or
volatile .
reinterpret_cast To cast to a completely different
meaning. The key is that you’ll
need to cast back to the original
type to use it safely. The type you
cast to is typically used only for
bit twiddling or some other
mysterious purpose. This is the
most dangerous of all the casts.
dynamic_cast For type-safe downcasting (this
cast will be described in Chapter
15).