The c++ casting operators are intended to expose these issues in the code by providing compile-time or run-time errors when possible. So, for strict value casting you can use static_cast. If you want run …

Although malloc without casting is preferred method and most experienced programmers choose it, you should use whichever you like having aware of the issues. If you need to compile c program as … Casting can be used on any compatible types, it can be overloaded, and it will throw an exception if the operation fails. The choice of which to use depends on the circumstances.