Исправление KivApple, (текущая версия) :
Неоптимизированный код не является некорректным. Указанный выше код соответствует стандартам и не использует UB и потому нормально скомпилируется любым компилятором, который им следует. Насколько оптимально - под вопросом, однако работать будет.
Гораздо хуже, когда из-за преждевременной оптимизации получается UB и код ломается, если компилятор таки умеет оптимизировать.
Исходная версия KivApple, :
Неоптимизированный код не является некорректным. Указанный выше код соответствует стандартам и потому нормально скомпилируется любым компилятором, которым им следует. Насколько оптимально - под вопросом, однако работать будет.