Могу ли я использовать ту же переменную счетчика для for
цикла внутри for
цикла?
Или переменные будут влиять друг на друга? Должен ли следующий код использовать другую переменную для второго цикла, например j
, или i
нормально?
for(int i = 0; i < 10; i++)
{
for(int i = 0; i < 10; i++)
{
}
}
-Wshadow
не входит в -Wall
.
-Wshadow
предупреждает о затенении глобальных переменных, что может легко раздражать в больших проектах.
-Wextra
не включает -Wshadow
. Я думаю, что это достаточно распространено в некоторых проектах, или какой-то разработчик gcc любит затенение как стиль кодирования, чтобы гарантировать, что его так упускают.
-Wshadow
имеет ужасающую частоту ложных срабатываний, что делает его совершенно бесполезным. Масштаб существует не просто так, и затенение априори не проблематично. Теперь -Wshadow-local
(примечание: нет -Wshadow=local
) совсем другое. Но, к сожалению, GCC до сих пор отказывался включать его в транк (хотя, похоже, есть форки GCC, которые его включают).
i
с разными областями действия. Используйте-Wshadow
с GCC, чтобы автоматически сообщать о таких проблемах.