Вопросы с тегом «invariants»

48
Что такое инварианты, как их можно использовать, и использовали ли вы их когда-либо в своей программе?

Я читаю Coders at Work , и в нем много говорят об инвариантах. Насколько я понял, инвариант - это условие, которое выполняется до и после выражения. Они, помимо прочего, полезны для доказательства правильности цикла, если я правильно помню курс по логике. Мое описание верно, или я что-то пропустил?...

17
Цикл Foreach с циклом break / return против цикла while с явным инвариантом и постусловием

Это наиболее популярный способ (мне кажется) проверки, находится ли значение в массиве: for (int x : array) { if (x == value) return true; } return false; Однако в книге, которую я читал много лет назад, вероятно, Виртом или Дейкстрой, было сказано, что этот стиль лучше (по сравнению с циклом while...

16
Почему инварианты важны в информатике

Я понимаю «инвариант» в его буквальном смысле. Я также узнаю их, когда набираю код. Но я не думаю, что понимаю значение этого термина в контексте информатики. Всякий раз, когда я читаю разговоры \ официальные документы о языковом дизайне от известных программистов \ компьютерных ученых, термин...

13
Инварианты времени жизни объекта и семантика перемещения

Когда я давно изучал C ++, мне было настоятельно подчеркнуто, что отчасти C ++ состоит в том, что, как и у циклов, есть «инварианты цикла», у классов также есть инварианты, связанные с временем жизни объекта - вещи, которые должны быть истинными. пока объект жив. Вещи, которые должны быть...

9
Каков ответ функционального программирования на основанные на типе инварианты?

Я знаю, что концепция инвариантов существует в нескольких парадигмах программирования. Например, инварианты цикла актуальны в ОО, функциональном и процедурном программировании. Однако, один очень полезный вид, найденный в ООП, является инвариантом данных определенного типа. Это то, что я называю...