Тег

D

1 материалов

В C++26 появились контракты. Создатель D говорит, что от них мало толку (cppstories.com)

Контракты позволяют функции заявить, что должны гарантировать вызывающие и что она обещает взамен. Нарушение можно проигнорировать, наблюдать, принудительно проверить или проверить с быстрым завершением. Выбор делается на уровне сборки, переносимого переключателя для отдельного утверждения нет. Руководство предупреждает, что контракты не заменяют валидацию входных данных.

Уолтер Брайт, который говорит, что добавлял контракты в Zortech C++ в 1990-х и позже в D, написал, что они «оказались не очень полезными». Встраиваемый разработчик хочет обратного: проверки включены на рабочей станции и выключены на слабых производственных процессорах.