Explicit Type ConversionExplicit Type Conversion

There are several ways to explicitly perform type conversion in C++.
Let's start with C-style conversion:

Here is an example:

cpp

main.cpp

One more way is a function-style conversion:

For example:

cpp

main.cpp

There are also 4 type casting operators:

  • static_cast - performs basic conversions
  • dynamic_cast - used for more complex type conversions, particularly when dealing with inheritance and polymorphism
  • reinterpret_cast - performs low-level reinterpretation of types
  • const_cast - adds or removes const

Most of the time, you only need a static_conversion. We will not discuss other casts in-depth. Here is the syntax:

Here is an example:

cpp

main.cpp

We will not cover the difference between all of those. In general, static_cast is preferable since it is more restrictive and can prevent some unexpected behavior with complex data types.

question-icon

Select all the correct ways of performing type conversion.

Select a few correct answers

Everything was clear?

Section 3. Chapter 6