Я собираюсь предположить, что вы говорите о C. Пожалуйста, пометьте свой вопрос на правильном языке.
Все еще может "работать", пока у разработчика не будет кода, который предполагает a ub4
- это точно 4 байта.Затем такие ошибки могут привести к таким вещам, как переполнение буфера (которые могут быть явно не обнаруживаемыми или даже могут оставаться незамеченными в течение многих лет до случайного проявления симптомов) ... или они могут просто не вызывать симптомов.Они все еще вызывают Undefined Behavior, хотя и должны быть исправлены.
Возможно также, что разработчик просто никогда не использовал ширину шрифта в качестве предположения в своем коде.