From ccd1022221412c5d8a6f89acdf84cbd15276c480 Mon Sep 17 00:00:00 2001 From: Alexander Zhirov Date: Tue, 28 Feb 2023 19:14:38 +0300 Subject: [PATCH] fix link --- 10-контрактное-программирование/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/10-контрактное-программирование/README.md b/10-контрактное-программирование/README.md index 0237f3f..b6cb565 100644 --- a/10-контрактное-программирование/README.md +++ b/10-контрактное-программирование/README.md @@ -7,7 +7,7 @@ - [10.5. Инварианты](#10-5-инварианты) - [10.6. Пропуск проверок контрактов. Итоговые сборки](#10-6-пропуск-проверок-контрактов-итоговые-сборки) - [10.6.1. enforce – это не (совсем) assert](#10-6-1-enforce-это-не-совсем-assert) - - [10.6.2. assert(false) – останов программы](#10-6-2-assertfalse-останов-программы) + - [10.6.2. assert(false) – останов программы](#10-6-2-assert-false-останов-программы) - [10.7. Контракты – не для очистки входных данных](#10-7-контракты-не-для-очистки-входных-данных) - [10.8. Наследование](#10-8-наследование) - [10.8.1. Наследование и предусловия](#10-8-1-наследование-и-предусловия) @@ -519,7 +519,7 @@ string fun() Вызов `enforce(false)` всегда порождает исключение, но компилятор не знает об этом. Инструкция `assert(false);` дает компилятору понять, что эта точка недостижима. Завершить выполнение `fun` можно и с помощью инструкции `return "";`, но если позже кто-нибудь закомментирует вызов `enforce`, `fun` начнет возвращать фиктивные значения. Выражение `assert(false)` – настоящий *deus ex machina*, избавляющий ваш код от таких ситуаций. -[В начало ⮍](#10-6-2-assertfalse-останов-программы) [Наверх ⮍](#10-контрактное-программирование) +[В начало ⮍](#10-6-2-assert-false-останов-программы) [Наверх ⮍](#10-контрактное-программирование) ## 10.7. Контракты – не для очистки входных данных