История изменений
Исправление hateyoufeel, (текущая версия) :
Либо пишут как писали, либо начинают приводить свой стиль кода к стандарту понемногу.
Ололоэ! Большинство сишников стандарт не то что не читали, они его люто ненавидят. Тут прямо на этом форуме для хардкорных сишников как-то раз было шоком, что после вызова free(ptr)
использование значения этого самого ptr является UB. Мне прямо весь тред отдельные личности доказывали, что это на самом деле неправильный компилятор и вообще так не должно быть.
PS: integer overflow сделать UB это очень правильно, код должен быть логичным, а не набором мутных хаков, выявленных на особенностях своей платформы.
Настолько правильно, что большинство сишных проектов – включая линуксовое ведро, GTK, GIMP и прочую залупу – тащат -fwrapv
в флаги компилятора, потому что вертели это «правильно» на одном органе и хотят вполне конкретного поведения.
И это не учитывая того факта, что платформы, где знаковые типы не использовали бы 2’s complement, давно сдохли и нынешние сишные компиляторы, соответствующие стандарту, под них код даже не собирают.
Исправление hateyoufeel, :
Либо пишут как писали, либо начинают приводить свой стиль кода к стандарту понемногу.
Ололоэ! Большинство сишников стандарт не то что не читали, они его люто ненавидят. Тут прямо на этом форуме для хардкорных сишников как-то раз было шоком, что после вызова free(ptr)
использование значения этого самого ptr является UB. Мне прямо весь тред отдельные личности доказывали, что это на самом деле неправильный компилятор и вообще так не должно быть.
PS: integer overflow сделать UB это очень правильно, код должен быть логичным, а не набором мутных хаков, выявленных на особенностях своей платформы.
Настолько правильно, что большинство сишных проектов – включая линуксовое ведро, GTK, GIMP и прочую залупу – тащат -fwrapv
в флаги компилятора, потому что вертели это «правильно» на одном органе и хотят вполне конкретного поведения.
И это не учитывая того факта, что платформы где знаковые типы не использовали бы 2’s complement давно сдохли.
Исходная версия hateyoufeel, :
Либо пишут как писали, либо начинают приводить свой стиль кода к стандарту понемногу.
Ололоэ! Большинство сишников стандарт не то что не читали, они его люто ненавидят. Тут прямо на этом форуме для хардкорных сишников как-то раз было шоком, что после вызова free(ptr)
использование значения этого самого ptr является UB. Мне прямо весь тред отдельные личности доказывали, что это на самом деле неправильный компилятор и вообще так не должно быть.
PS: integer overflow сделать UB это очень правильно, код должен быть логичным, а не набором мутных хаков, выявленных на особенностях своей платформы.
Настолько правильно, что большинство сишных проектов – включая линуксовое ведро, GTK, GIMP и прочую залупу – тащат -fwrapv
в флаги компилятора, потому что вертели это «правильно» на одном органе и хотят вполне конкретного поведения.