Тип доклада: Доклад

Контракты для С++

  • Доклад на русском языке

Контрактное программирование — эффективный подход к написанию более безопасных и корректных программ. Он был успешно реализован в таких языках программирования, как Eiffel и Ada. В стандарте С++ контрактное программирование имеет долгую и сложную историю.

С тех пор как попытка добавить контракты в стандарт C++20 потерпела неудачу, SG21 — рабочая группа для стандартизации контрактов в комитете C++ — активно разрабатывает новую версию этой фичи. Сегодня эта версия контрактов уже практически полнофункциональна и с большой вероятностью будет включена в следующий стандарт C++26.

Мы рассмотрим текущий дизайн контрактов для C++26 и его практическое использование.

Обсудим разновидности контрактов (preconditions, postconditions, assertions), возможные режимы проверки, обработку нарушений и многое другое. Рассмотрим, как реализовать контрактное программирование на сегодняшнем C++, не дожидаясь появления C++26, и как добавить эффективные проверки контрактов в существующую кодовую базу для повышения ее безопасности и корректности.

Доклады