A>Это делает код более захламлённым => менее читаемым и ясным.
Не согласен. Как раз наоборот — я написал об этом — становится явно видна логика кода, что именно ты делаешь этим преобразованием.
A>Представь себе, что код ещё и какую-то логику делает, а не только типы преобразовывает.
Касты — это крайне редкая операция, которую применяется лишь в крайних случаях. По возможности их стоит избегать. В языке полно других способов выразиться. Идеология языка объектно-ориентированная. Вот и надо мыслить объектами, их взаимодействием и операциями над ними.
О том, что нужно избегать кастов, написано в приведенной мною первой ссылке
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es48-avoid-casts.