Casting Operators
Collapse the table of content
Expand the table of content
The document is archived and information here might be outdated

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.

© 2016 Microsoft