LINUX.ORG.RU

История изменений

Исправление PPP328, (текущая версия) :

Making this behavior undefined continues to allow existing implementations to do as they please, but provides a clear warning to developers to guard against zero-byte reallocations.

Это просто чистейший фейспалм. «Вон та реализация Keil-C кривая, поэтому давайте пусть такое поведение у всех будет». Что дальше? Объявим Microsoft-C стандартом и все будем равняться на _wstrbpbstio?

Какая вообще нахрен разница, какое поведение в конкретной реализации? Это новый стандарт, новый, блэт! Если у вас не соответствует стандарту - значит вы не соответствуете стандарту. Причем тут вообще «а вот у них нет float, давайте их уберем»

Новый код НЕ сломается пока кто-то принудительно не поставит -std=c23. Тот же самый фейспалм был с bool. Какой смысл был его выносить в отдельный заголовок? Чтобы что? Чтобы не сломать код? Какой? Который под c89/90 компилируется? Ну так у него всё будет хорошо. Зато новый код оброс костылем.

Исходная версия PPP328, :

Making this behavior undefined continues to allow existing implementations to do as they please, but provides a clear warning to developers to guard against zero-byte reallocations.

Это просто чистейший фейспалм. «Вон та реализация Keil-C кривая, поэтому давайте пусть такое поведение у всех будет». Что дальше? Объявим Microsoft-C стандартом и все будем равняться на _wstrbpbstio?

Какая вообще нахрен разница, какое поведение в конкретной реализации? Это новый стандарт, новый, блэт! Если у вас не соответствует стандарту - значит вы не соответствуете стандарту. Причем тут вообще «а вот у них нет float, давайте их уберем»