As a result, this makes the cast harder to comprehend, not only by humans, but also by compilers which are unable to detect improper casts. Another problem is that the C-style casts are hard to find. Perhaps the most serious problem with the old C-style cast is that it allows you to cast practically any type to any other type. Improper use of casts can lead to disastrous results. The old C-style casts have created a few holes in the C type system and have also been a souce of confusion for both programmers and compilers.
Casts have a clear, concise, although somewhat cumbersome syntax.
This makes casts easier to understand, find, and maintain. The intended meaning of a cast is no longer ambiguous. Knowing what the programmer intended the cast to do makes it possible for compilers to detect improper casting operations. Allow some casts to be performed safely at run-time. This will enable programmers to check whether a particular cast is successful or not.