루프

2012-03-20 2 views
2

전에 정수 값을 설정 나는 그래서 기본적으로 너무루프

int current = -1; 

    for (int i=0; i < size; i++) { 
     ... some stuff 

     if (i > current || current == -1) { 
      current = i; 
     } 
    } 

같은 루프를 가지고, 내가 루프 전에 전류가 원래의 값이 없습니다. 이것은 현재 값이 i의 첫 번째 인스턴스로 설정되었는지 또는 더 잘 작성 될 수 있는지 확인하는 좋은 방법입니까?

감사합니다.

+4

어쩌면 내가 오해 해요,하지만 당신은 단지에가 동일하게 설정하려고하는 경우 current' '의 포인트는, 무엇 '나'? – VeeArr

+0

당신은 현재를 필요로합니다. 그 코드가 항상 구조화되어 있기 때문에, 항상 i와 이후에 크기가 -1. – barsju

+0

@barsju이면, 'i'는 for 루프 외부에서 참조 될 수 없습니다. –

답변

0

사람들이하는 일반적인 방식입니다.

current == -1이 필요 i > currenttrue에 첫 번째 반복을 평가하기 때문에, 생각 없다, 그리고 current 그 후 i로 설정됩니다.

+0

'current'가 지정되지 않았다면 (아마도 당신이 제안하고있는 것처럼) for 루프 이후에 참조된다면 컴파일러는 불평 할 것입니다. –

+0

@SteveKuo하지만 루프 앞에 'current'가 지정됩니다. –

1

current 만 루프 내에서 사용할 경우이 사람은 잘 작동 :

for (int i = 0, current = i; i < size; i++) { 
    // etc.. 
} 
+0

루프 전에 여러 변수를 -1로 설정했습니다. 위 코드는 순전히 예제입니다. 이 인라인과 같은 여러 변수를 initiliase에 지저분해질 것이라고 생각합니까? – user1277546

+0

이것에 대한 아이디어가 있으십니까? – user1277546

+0

@ user1277546 예, 어둡기는하지만 권장하지 않습니다. 'i'가 시작될 경우 모두 0으로 초기화하는 데 문제가 있습니까? – paislee