To say that “C casting is bad” is an extreme that is not in itself as bad as using C-style casts all the time.
Areas in which the "new" C ++ styles are to be used are: hierarchical casts (upcasts, downcasts, crosscasts), traces of const-correctness, and reinterpretation. For arithmetic castings, C-style castings work fine and do not pose any danger, so they can be safely used in C ++ code. In fact, I would recommend using C-style casts specifically as arithmetic castings - just to make arithmetic castings different from other types of translation.
source share