Converting types with static_cast in C++

Converting types with static_cast in C++

The provided C++ code is a simple demonstration of the static_cast operator, which is used to convert an expression to a new type.

Code

// This program demonstrates the use of static_cast in C++
// static_cast<newtype>(expr) is used to cast an expression to a new type

#include <iostream>
using namespace std;

int main() {
    // Declare and initialize integer variables
    int numberOne = 56;
    int numberTwo = 92;

    // Declare and initialize a character variable
    char character = 'a';

    // Display the character equivalent of numberOne
    // static_cast<char>(numberOne) converts the integer to a character
    cout << "a" << " " << static_cast<char>(numberOne) << endl;

    // Display the character equivalent of numberTwo
    // static_cast<char>(numberTwo) converts the integer to a character
    cout << "b" << " " << static_cast<char>(numberTwo) << endl;

    // Display the integer equivalent of character
    // static_cast<int>(character) converts the character to an integer
    cout << "c" << " " << static_cast<int>(character) << endl;

    // End of program
    return 0;
}

Explanation

The provided C++ code is a simple demonstration of the static_cast operator, which is used to convert an expression to a new type.

The program begins by including the iostream library and declaring the std namespace for usage. This is a common practice in C++ to allow for easier usage of standard library functions, such as cout for console output.

#include <iostream>
using namespace std;

In the main function, three variables are declared and initialized: two integers (numberOne and numberTwo) and one character (character).

int numberOne = 56;
int numberTwo = 92;
char character = 'a';

The static_cast operator is then used to convert these variables to different types. The static_cast<char>(numberOne) expression converts the integer numberOne to a character, and its result is printed to the console. The same operation is performed for numberTwo.

cout << "a" << " " << static_cast<char>(numberOne) << endl;
cout << "b" << " " << static_cast<char>(numberTwo) << endl;

Finally, the character variable is converted to an integer using static_cast<int>(character), and the result is printed to the console.

cout << "c" << " " << static_cast<int>(character) << endl;

In summary, this program demonstrates how to use the static_cast operator in C++ to convert between different data types. It’s a simple but effective illustration of type casting in C++.

Output

a 8
b \
c 97

Process finished with exit code 0
Last updated on