История изменений
Исправление hateyoufeel, (текущая версия) :
Повторюсь, что с таким подходом сама формулировка «неявное поведение» не имеет смысла. Любой язык имеет детерминированную семантическую модель.
В том-то и проблема, что в Си это поведение обозначено стандартом, в котором написано: «тут может произойти что угодно, включая ничего». Смотри про вставку memset() выше, это вполне себе неявное поведение и это допускается стандартом.
«Все» это слишком смелый квантификатор. Я не обмазываюсь. Если я пишу не стандартный С, это значит, что я не придумал, как это сделать на стандартном C.
Окей, напишу так: 95% проектов сложнее Hello World используют нестандартные расширения в той или иной форме. Начиная от -fwrapv
или -fno-strict-aliasing
, потому что эта вот срань всех достала, и заканчивая cleanup
для удобства.
Исходная версия hateyoufeel, :
Повторюсь, что с таким подходом сама формулировка «неявное поведение» не имеет смысла. Любой язык имеет детерминированную семантическую модель.
В том-то и проблема, что в Си это поведение обозначено стандартом, в котором написано: «тут может произойти что угодно, включая ничего». Смотри про вставку memset() выше, это вполне себе неявное поведение и это допускается стандартом.
«Все» это слишком смелый квантификатор. Я не обмазываюсь. Если я пишу не стандартный С, это значит, что я не придумал, как это сделать на стандартном C.
Окей, напишу так: 95% сложнее Hello World используют нестандартные расширения в той или иной форме. Начиная от -fwrapv
или -fno-strict-aliasing
, потому что эта вот срань всех достала, и заканчивая cleanup
для удобства.