2012-11-01 5 views
5

임은 특정 변수를 초기화 할 때 가장 좋은 방법이 무엇인지 알아 내려고 ... 내 코드는 순간 다음과 같습니다 내 프로그램은 내가 일하고 편집 구성 요소의 새로운 라인을 발견 할 때마다 ... 재설정됩니다초기화 변수는

이 문제는 다음과 같습니다

는 그것을 모든 변수를 선언하고 초기화하는 더 나은 프로그래밍 연습 for 루프 내부 또는 그 순간에 그대로 두어야합니까?

+2

그것은 따라 달라집니다 : 당신은 FOOR 루프의 범위를 벗어난를 필요합니까? – alestanis

답변

10

가능한 한 변수 범위를 줄여야합니다. 이렇게하면 코드 유지 관리가 향상되고 버그가 발생할 가능성이 줄어 듭니다.

// bad 
int i, j, k; 
k = 0; 
for (i = 0; i < X, ++i) 
{ 
    j = foo(i); 
    k += j; 
} 

bar(k); 

... 대 ...는

// better 
int k=0; // needs scope outside loop 
for (int i = 0; i < X, ++i) 
{ 
    int j = foo(i); 
    k += j; 
} 

bar(k); 
+1

그런데 성능이 어떻습니까? 매번 값 비싼 초기화를하지 않습니까? – sashkello

+3

@sashkello : 프리미티브의 경우 : 아니오. 더 복잡한 것들을 위해서 : 아마. –

+0

나는이 이유 때문에 그 (것)들을 정확하게 바꾸기에서 나 자신을 참지했다. 그 때문에 오버 헤드가 있습니까? - 편집 그냥 위의 대답을 읽었습니다. – RaptorX