- 1
#define LEAP_YEAR_OR_NOT(year)( ( year % 4 ) ? ( 0 ) : ( 1 ) )
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
#define LEAP_YEAR_OR_NOT(year)( ( year % 4 ) ? ( 0 ) : ( 1 ) )
Тот кто это писал, видимо рассуждал примерно так:
- В 2100 году это конечно забагует, но это будет уже не моя проблема.
(да, код писался после 2000-го)
З.Ы. У crew dragon'ов гуйня на джаваскрипте.
И никаких переполнений, заметьте. Вот раньше умели делать, а?
А "бэкенд" на PHP?
Прошлого не существует.
Хотя нет, 2000 ведь на 400 делится. Так что если считать с этого момента этот код забагует в прошлом первый раз в 1900 и в будущем в 2100. До 2100 эту хрень вряд ли кто будет использовать, так что всё нормально. Археологи разве что откопают на помойке и обнаружат баг.
- фраза двусмысленная, русский язык сложная
нужен std::is_integral?
хотя ведб и так кормпиляция упадет, но лучше так
Минимальная дата в знаковом 32-битном представлении — 13 декабря 1901 года, 20:45:52 UTC (0x80000000, −2 147 483 648 секунд от 1 января 1970 года).
А 2038 это сильно меньше чем 2100
Ещё через 68 лет (т. е. в 2106-м году) забагуют программы, хранящие дату в uint32_t.
Код написан с расчётом, что всё равно надо будет переписывать.
Какое несовершенство мира )))
Dummy123123
j00001
Dummy314159
2.718281828
qrsrq