We may earn an affiliate commission when you visit our partners.

Type Casting

Save
May 1, 2024 3 minute read

Type casting is the conversion of a value of one data type to another. In some programming languages, this operation is implicit and is performed by the compiler or interpreter. In other languages, such as C and C++, type casting must be performed explicitly by the programmer.

Implicit Type Casting

Implicit type casting is performed automatically by the compiler or interpreter when a value of one data type is used in a context where a value of another data type is expected. For example, in the following C++ code, the integer variable x is implicitly cast to a double when it is used in the expression x / 2.0:

int x = 10;
double y = x / 2.0;

In this example, the compiler automatically converts the integer value x to a double value before performing the division operation. This is because the division operator / expects its operands to be of the same type, and the integer value x cannot be directly divided by the double value 2.0.

Explicit Type Casting

Explicit type casting, also known as type conversion, is performed by the programmer using a cast operator. In C and C++, the cast operator is the static_cast operator. The following code shows how to explicitly cast the integer variable x to a double using the static_cast operator:

int x = 10;
double y = static_cast(x);

Share

Help others find this page about Type Casting: by sharing it with your friends and followers:

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Type Casting.
Provides a detailed discussion of type casting in C#, including the different types of type casting and the rules governing their use. It also provides guidance on how to use type casting effectively to improve the performance and flexibility of C# programs.
Provides a comprehensive overview of type casting in C++, covering both implicit and explicit type casting. It also discusses the use of type casting to improve the precision and performance of programs.
Provides a comprehensive overview of type casting in Ruby, covering both implicit and explicit type casting. It also discusses the use of type casting to improve the precision and performance of Ruby programs.
Provides a comprehensive overview of type casting in OCaml, covering both implicit and explicit type casting. It also discusses the use of type casting to improve the precision and performance of OCaml programs.
Provides a detailed discussion of type casting in Go, including the different types of type casting and the rules governing their use. It also provides guidance on how to use type casting effectively to improve the performance and flexibility of Go programs.
Provides a detailed discussion of type casting in F#, including the different types of type casting and the rules governing their use. It also provides guidance on how to use type casting effectively to improve the performance and flexibility of F# programs.
Provides a detailed discussion of type casting in PHP, including the different types of type casting and the rules governing their use. It also provides guidance on how to use type casting effectively to improve the performance and flexibility of PHP programs.
Table of Contents
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser