Привет, Всем!
Меня беспокоит то, что читая литературу по программированию и проектированию я не совсем ясно понимаю "что такое инвариант?". При ОО-проектировании это одно, при написании цикла это другое.
Возьму за основу
эти слова .
Исходя из этих слов, у меня возникает вопросы:
1) Если взять цикл for(int i = 0; i < susp_cnt; i++) , то будет ли условие < i < susp_cnt > инвариантом или нет ?
2) Допустим есть цикл, где организовано шифрование заданого региона памяти, т.е. копируются какие-то байты, обрабатываются байты и ложатся в другие места, то для работы нужно чтобы указатели получателя и источника действительно существовали. Взяв это условие, о том что "указатель на источик и получатель не есть NULL" будет инвариантом ?