2017-12-30 1 views
-1

는 우리는, 클래스 bool, void 각각 아무것도 반환 제한없이 및 세 가지 기능 cond, nextfT"for"대신 "for"를 사용합니까?

for(T k = T(); cond(); next()) 
    f(); 

{ 
T k = T(); 

while(cond()) { 
    f(); 
    next(); 
} 
} 

동일 알고리즘 말하는 정의 치죠?

+1

당신의 C++ 서적에서 당신이 이해하지 못하는'for' 문이 어떻게 작동하는지에 대한 구체적인 내용이 있습니까? –

+2

답변을 게시 하겠지만 "예." 너무 짧습니다. – melpomene

+0

@melpomene "짧은 답변"의 나머지 부분은 설명서 및 발췌 부분에 대한 링크로 쉽게 채울 수 있습니다 .. – user2864740

답변

1

물론입니다. for (init; cond; step) {statements} 구문은

{ 
    init; 
    while (cond) { 
     statements; 
     step; 
    } 
} 

에 해당합니다 그래서 그들은 (어떤 경우 가독성 제외) 완전히 교환 할 수있다.

첫 번째 줄과 마지막 줄의 독립 실행 형 중괄호의 목적은 초기화 된 변수의 범위를 루프 자체로 제한하는 것입니다.

0

두 경우 모두 클래스 개체를 초기화 한 후 검사 조건과 다음에 수행해야 할 단계가 동일하게 배치되므로 둘 다 FOR 및 WHILE 상호 변환이 가능합니다.

관련 문제