История изменений
Исправление
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 в флаги компилятора, потому что вертели это «правильно» на одном органе и хотят вполне конкретного поведения.