for
루프 내부의 루프에 동일한 카운터 변수를 사용할 수 있습니까 for
?
아니면 변수가 서로 영향을 미칠까요? 다음 코드는, 제 2 루프에 다른 변수를 사용한다 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
(참고 : not -Wshadow=local
)은 매우 다릅니다. 그러나 안타깝게도 GCC는 지금까지 트렁크에 포함하는 것을 거부했습니다 (이를 포함하는 GCC의 포크가있는 것으로 보이지만).
i
범위가 다른 두 개의 다른 변수가 있습니다 .-Wshadow
GCC와 함께 사용 하면 이러한 문제가 자동으로보고됩니다.