Casting Operators

There are several casting operators specific to the C++ language. These operators are intended to remove some of the ambiguity and danger inherent in old style C language casts. These operators are:

  • dynamic_cast   Used for conversion of polymorphic types.

  • static_cast   Used for conversion of nonpolymorphic types.

  • const_cast   Used to remove the const, volatile, and __unaligned attributes.

  • reinterpret_cast   Used for simple reinterpretation of bits.

  • safe_cast    Used to produce verifiable MSIL.

Use const_cast and reinterpret_cast as a last resort, since these operators present the same dangers as old style casts. However, they are still necessary in order to completely replace old style casts.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2014 Microsoft