Site icon Learn C++

How To Use static_cast In C++ Software

How To Use static cast In C++ Software

What is a cast operator? What types of casting can be used in C++? What is a static_cast in C++? How can I use static_cast in C++ Software?

In C++, a cast operator is an Unary Operator which forces one data type to be converted into another data type.
In general, C++ supports four types of casting:

  1. Static Cast
  2. Dynamic Cast
  3. Const Cast
  4. Reinterpret Cast

What is a Static Cast?

In C++, static cast converts between types using a combination of implicit and user-defined conversions. In another term a static_cast returns a value of type new_type.

static_cast is usually safe. There is a valid conversion in the language, or an appropriate constructor that makes it possible. The only time it’s a bit risky is when you cast down to an inherited class; you must make sure that the object is actually the descendant that you claim it is, by means external to the language like a flag in the object.

This is used for the normal/ordinary type conversion. This is also the cast responsible for implicit type coersion and can also be called explicitly. You should use it in cases like converting float to int, char to int, etc.

As with all cast expressions, static_cast can be used on,

We can say that two objects a and b are pointer-interconvertible if

Is there an example of how to use static_cast?

Here is a simple example of cast which can be used. This is also called a compile time cast. It converts int to float, or pointer to void* in an implicit way, and it can be called with explicit conversion functions (or implicit ones). Here is a simple example of how to cast a float number as an int number.

[crayon-6631a1626f0c1820835768/]

Here is the full example,

[crayon-6631a1626f0c8302604793/]

and the output will be

[crayon-6631a1626f0ca027789444/]

This is a good example how we can use static_cast between classes,

[crayon-6631a1626f0cc867281412/]

C++ Builder is the easiest and fastest C and C++ IDE for building simple or professional applications on the Windows, MacOS, iOS & Android operating systems. It is also easy for beginners to learn with its wide range of samples, tutorials, help files, and LSP support for code. RAD Studio’s C++ Builder version comes with the award-winning VCL framework for high-performance native Windows apps and the powerful FireMonkey (FMX) framework for cross-platform UIs.

There is a free C++ Builder Community Edition for students, beginners, and startups; it can be downloaded from here. For professional developers, there are Professional, Architect, or Enterprise versions of C++ Builder and there is a trial version you can download from here.

Exit mobile version