다음을 통해 공유


문 (C++)

실행 루프 식 때까지 반복적으로 조건 식 false가 됩니다.대 범위에 따른 문의 대 한 자세한 내용은 범위 기반 for 문(C++).

for ( init-expression ; cond-expression ; loop-expression )
   statement 

설명

사용 된 for 문을 지정 된 횟수 만큼 실행 해야 하는 루프를 생성 합니다.

for 문 다음 표와 같이 세 개의 선택적 부분 구성 합니다.

루프 요소에 대 한

구문 이름

실행 하는 경우

내용

초기화 식

앞의 다른 요소는 에 대 한 문.init 식 는 한 번만 실행 됩니다.컨트롤 다음에 가공 패스 조건 식.

루프 인덱스를 초기화할 때 주로 사용.식 또는 선언 (c + +만)을 포함할 수 있습니다.

조건 식

각 반복을 실행 하기 전에 , 첫 번째 반복을 포함 합니다. 경우에 실행 됩니다 조건 식 (0이 아닌) true로 평가 합니다.

정수 계열 형식 또는 정수 계열 형식으로의 명확한 변환을 포함 하는 클래스 형식으로 계산 되는 식입니다.일반적으로 루프 종료 기준을 테스트 하는 데 사용 합니다.

루프 식

각 반복의 끝에 .후 루프 식 실행 되 면 조건 식 평가 됩니다.

일반적으로 루프 인덱스를 증가 시키기 위해 사용 합니다.

예를 들면 다음과 같습니다.

// for_statement1.cpp
#include <stdio.h>
int main() {
int i;
for ( i = 0 ; i < 2 ; i++ ) 
   printf_s( "\n%d\n",i );
}

앞의 for 루프는 다음에 해당 하는 while 루프.

// for_statement2.cpp
#include <stdio.h>
int main()
{
   int i = 0;
   while ( i < 2 )
      printf_s( "%d\n", i++ );
}

초기화 식루프 식 구분 하 여 여러 개의 문을 포함할 수 있는 쉼표 연산자.예를 들면 다음과 같습니다.

// for_statment3.cpp
#include <stdio.h>
int main()
{
   int i, j;
   for ( i = 5, j = 10 ; i + j < 20; i++, j++ )
      printf_s( "\n i + j = %d", (i + j) );
}

A for 루프를 종료 하는 경우는 중단, 반환, 또는 goto (레이블된 문 외부에 에 대 한 루프) 내 실행 됩니다.A 계속 문에서 for 루프의 현재 반복에만 종료 합니다.

경우 조건 식 입니다 생략이 참이 되 고 에 대 한 루프 하지 않고 종료 됩니다는 break, return, 또는 goto 내 .

무한을 지정 하는 편리한 방법을 반복 사용 하는 for 문입니다:

for( ; ; )
{
    // Statements to be executed.
}

하지만의 세 필드는 for 문을 초기화, 종료에 대 한 테스트에 대 한 일반적으로 사용 하 고 증가는 이러한 용도에 제한 되지 않습니다.예를 들어, 다음 코드 0부터 4 까지의 번호를 인쇄합니다.이 경우 null 문입니다.

// for_statement4.cpp
#include <stdio.h>
int main()
{
    int i;
    for( i = 0; i < 5; printf_s("%d\n", i), i++)
        ;
}

루프와 c + + 표준에 대 한

에 선언 된 변수는 c + + 표준 이라는 for 루프 후에 범위를 벗어난 이동 합니다의 for 루프가 종료 됩니다.예를 들면 다음과 같습니다.

for (int i = 0 ; i < 5 ; i++) {
   // do something
}
// i is now out of scope under /Za or /Zc:forScope

기본적으로 아래 /Ze에서 선언 된 변수는 for 루프 때까지 범위에 남아 있는 for 상위 범위 끝입니다. for 루프.

/Zc: forscope 표준 동작과 /za를 지정 하지 않고도에서 for 루프를 선언한 변수를 사용 합니다.

또한 범위 차이 사용할 수 있습니다의 for 같이 /ze 변수 재선언 루프:

// for_statement5.cpp
int main(){
   int i = 0;   // hidden by var with same name declared in for loop
   for ( int i = 0 ; i < 3; i++ ) {}

   for ( int i = 0 ; i < 3; i++ ) {}
}

이 보다 긴밀 하 게 모방 하는 표준 동작에서 선언 된 변수는 for 루프에 선언 된 변수를 필요로 for 루프에서 루프를 완료 한 후 범위를 벗어난 이동 합니다.변수를 선언 하는 경우는 for 루프를 컴파일러가 내부적으로 촉진이 로컬 변수에 for 루프의 경우에 이미 같은 이름 가진 지역 변수 범위 바깥쪽.

참고 항목

참조

반복문 (C++)

C + + 키워드

while 문을 (C++)

do-while 문(C++)

범위 기반 for 문(C++)