Городская лента

Стандарт C++26 не утвердили из-за контрактов в языке

· 11

Национальные комитеты ISO (NB) проголосовали против утверждения международного стандарта C++26. Финальный вариант спецификации был принят в марте. Это первый такой случай в истории развития основного стандарта C++.

Причиной отклонения стало включение в язык элементов контрактного программирования (Contracts). Они позволяют задавать формальные спецификации интерфейсов через три новых оператора: pre (предусловие), post (постусловие) и contract_assert (проверка утверждения).

Сложность новых предложений и глубину их проработки сочли недостаточной, поэтому отклонили стандарт C++26 целиком, а не отдельные его части.

Пока неясно, будет ли C++26 вообще или новая версия выйдет в следующем году под другим номером.