Найти в Дзене

Переменная-счётчик в цикле for

Любой программист, даже начинающий, знает, что такое циклы, и, конечно, использует их в своей программе. Циклы в программах применяются довольно часто, поэтому знать некоторые их особенности будет совсем не лишним. И сегодня об одной из особенностей цикла for в С++.

Язык С++ вообще довольно забавный. Он очень хорошо стандартизирован, но при этом далеко не все разработчики компиляторов придерживаются этих стандартов на 100%. Но в целом стандартны всё таки соблюдаются. И вот согласно этим стандартам переменная-счётчик (или индексная переменная), объявленная в цикле for, известна только в пределах этого цикла. То есть является локальной по отношению к этому циклу.

Соответственно, попытка использовать эту переменную за пределами цикла приведёт к ошибке компиляции:

Здесь нам сообщают, что мы пытаемся использовать переменную i за пределами области видимости цикла for.

Но также надо отметить, что, например, более старые версии компиляторов, которые использовались в Dev-C++, не считали это критической ошибкой и лишь выдавали предупреждение.

Также следует всегда помнить о совместимости. И даже если ваш компилятор проглотит такой код, не следует на это обольщаться. Потому что более новая версия компилятора может уже вести себя по другому. Кроме того, неприятности возникнут при попытке собрать программу другим компилятором, более полно соответствующим стандарту.

Так что лучше придерживаться стандартов. А для этого их надо знать. И одну, пусть очень маленькую часть стандарта С++ вы теперь знаете.

Так что подписывайтесь на канал, чтобы знать ещё больше ничего не пропустить.