나는 범위를 상당히 자주 제한한다는 것을 알았다. 코드가 훨씬 명확 해져서 변수를 훨씬 더 쉽게 재사용 할 수 있습니다. 변수가 새로운 범위의 시작 부분에서 선언되어야하는 C에서 특히 유용합니다.더 엄격한 범위 지정이 더 자주 표시되지 않는 이유는 무엇입니까?
다음은 내가 말하는 의미의 예입니다.
{
int h = 0;
foreach (var item in photos)
{
buffer = t.NewRow();
h = item.IndexOf("\\x\\");
buffer["name"] = item.Substring(h, item.Length - h);
t.Rows.Add(buffer);
}
}
이 예제에서는 모든 반복에서 초기화하지 않고 h의 범위를 제한했습니다.
하지만이 작업을 자주하는 많은 개발자는 보이지 않습니다. 왜 그런가요? 이 일에 단점이 있습니까?
는
"이것은 변수가 새로운 범위의 시작 부분에서 선언되어야하는 C에서 특히 편리합니다." C99는 10 년 넘게 나왔습니다. –
@Matthew : 불행히도 저는 MSVC에서 C 언어로 작동하기도하고 C 언어의 문장과 혼합 된 선언을 지원하지 않는다는 사실은 진정한 자극입니다 . –
예, Microsoft는 최신 C 표준을 지원할 의사가 없음을 분명히 밝혔습니다 (http://connect.microsoft.com/VisualStudio/feedback/details/485416/support-c99). 그러나 사람들이 표준 및 많은 컴파일러 (GCC, clang, icc 등)를 인식하는 것이 중요합니다.)이 기능을 제공합니다. –