Bir for
döngünün içindeki döngü için aynı sayaç değişkenini kullanabilir miyim for
?
Yoksa değişkenler birbirini mi etkiler? Aşağıdaki kod, ikinci döngü için farklı bir değişken kullanmalı mı j
, yoksa i
iyi mi?
for(int i = 0; i < 10; i++)
{
for(int i = 0; i < 10; i++)
{
}
}
-Wshadow
dahil olmadığına şaşırdım -Wall
.
-Wshadow
, küresel değişkenlerin gölgelenmesi konusunda da uyarıyor, bu da daha büyük projelerde kolayca can sıkıcı olabilir.
-Wextra
içermiyor bile -Wshadow
. Sanırım bazı projelerde yeterince yaygındır veya bazı gcc geliştiricileri, bu şekilde dışlanmayı garanti etmek için bir kodlama stili olarak gölgelendirmeyi sever.
-Wshadow
korkunç bir yanlış pozitif oranına sahip ve tamamen işe yaramaz hale getiriyor. Kapsam bir sebebi var ve gölgeleme olan önsel sorunlu değil. Şimdi -Wshadow-local
(not: değil -Wshadow=local
) çok farklı. Ancak ne yazık ki GCC şimdiye kadar onu bagaja dahil etmeyi reddetti (ancak GCC'nin çatalları onu içeriyor gibi görünüyor).
i
, farklı kapsamlara sahip iki farklı değişken vardır . Bu-Wshadow
tür sorunların otomatik olarak bildirilmesi için GCC ile birlikte kullanın .