Главная->Інформатика та програмування->Содержание->Несколько инициализирующих выражений и условий цикла

ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 3) онлайн

Несколько инициализирующих выражений и условий цикла

Вместо одного инициализирующего выражения в операторе цикла for можно ис- пользовать несколько выражений, разделяемых запятыми. Подобным же обра- зом можно использовать более одного инкрементирующего выражения. Лишь условие продолжения цикла всегда должно быть одно. Приведем такой пример:

for (j = 0, alpha = 100; j <50; j++, beta--)                 {

                 // тело цикла                 }

У данного цикла есть обычный счетчик в виде переменной j, но в операторе цикла, помимо j, также инициализируется переменная alpha и декрементируется переменная beta. Переменные alpha и beta никак не связаны ни друг с другом, ни с переменной j. При использовании нескольких инициализирующих или инкре- ментирующих выражений необходимо разделять их запятыми.

Из трех выражений, используемых при задании цикла, на самом деле ни од- но не является обязательным. Так, например, конструкция

for ( ; ; )

эквивалентна циклу while с условием продолжения, равным true. Мы рассмот- рим циклы while чуть позже.

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

 

16