>>/43522/
> Ну он же не компилирует, выдаст ошибку.

Смотря который. К примеру для MSC v12, v14, BC v3 это не ошибка. Такое приведение типов допустимо.
А та твоя конструкция - тоже танец чтоб обмануть подпорки написанные разработчиками компилятора, чтоб исключить ляпы. (правда ещё и потенциально генерящий лишний код арифметических операций)