최근 튜토리얼 ++은 C를 통과하는 동안이처럼 보였다 그 for 루프가 발생? 왜 이것을 사용하면 while(1)
이 될까요?for (;;)이 무한 루프입니까?</p> <pre><code>for (;;){ //Do stuff } </code></pre> <p>이 무한 루프 :
답변
예, 무한합니다. 전통적으로 컴파일러는 while(1)
을 사용할 때 경고를 표시하지만 for(;;)
을 사용할 때는 경고를 생성하지 않습니다. 이것이 아직도 사실인지 나는 모른다.
MSVC는 경고 수준이 여전히 높습니다 –
무한 루프입니까?
예.
while(1)
대신 왜 이것을 사용합니까?
(불량, IMO)의 맛. 그건 그렇고, 실제로 무한 루프를 만들어야한다면 while (true)
으로 갈 것입니다.
실제 프로그래머는 이러한 종류의 루프에 goto를 사용하고 다른 goto (또는 return)를 사용하여 종료합니다. :) –
@LeeMeador : 실제 프로그래머는 'goto'를 사용하지 않습니다.) –
+1 for wisdom. 유머 감각이 없어지면 -1. –
무한 루프입니다. 보다 정확하게는 for
의 조건이 비어 있으면 true
으로 간주됩니다. while (true)
대 for (;;)
의 경우 : 역사적으로 for (;;)
은 관용적 인 형식 (Kernighan 및 Ritchie에서 사용됨)이었는데, 초기 C에는 부울이 없었기 때문에 부분적으로는 아마도 부분적이었습니다. while (1)
을 사용하면 어디에서나 코드 검토를 통과하지 못합니다. 부울을 사용하면 while (true)
은 for (;;)
보다 직관적 인 것으로 보이지만 while (1)
은 혼란 스럽습니다. 그러나 프리 부울 시간에는 모두 true
또는 TRUE
또는 그 중 일부에 대해 #define
이 있었기 때문에 약한 주장입니다. 결국 Kernighan과 Ritchie에게서 배운 나 같은 오래된 C 프로그래머라면 본능적으로 for (;;)
을 사용하면됩니다. 그렇지 않으면 ... 아마도 C++을 어디서 누구로부터 배웠는지에 달려 있습니다.
물론 직장에있을 때 집회 규칙을 따르십시오.
- 1. 무한 루프 때문에 cout << cin.rdbuf(), 왜?
- 2. 'operator <<'for 'std :: operator <<
- 3. 이 있습니까 <%와 <% =
- 4. perl의 무한 루프 for
- 5. "<<< CSS를"이 PHP 코드를 설명해주십시오
- 6. NoClassDefFoundError for Android <5.0
- 7. Haskell 표준 라이브러리에 <<이 없습니까?
- 8. 이 연산자는 루비에서 무엇을합니까? << =
- 9. 이 0xffffffff를 무엇이며 << 자바
- 10. 이 기호 "<<< HTML"은 무엇을 의미합니까?
- 11. 자바 스크립트 메소드 오버로딩이 허용 되었습니까? 함수가 어떻게 작동하는지</p> <pre><code>function bla(param1, param2) { // do stuff } </code></pre> <p>이가 영향을 미칩니 까 :이 변경되면</p> <pre><code>function bla(param1) { // do stuff } </code></pre> <p>:
- 12. github add <<<<<<< HEAD
- 13. 정의되지 않은 메소드`<< 'for nil : NilClass rails console
- 14. 무한 루프 for 2d 배열
- 15. 양식 & lt; & gt; for mongoose
- 16. 이</p> <p>이 컴파일, VS2010
- 17. 설명 + <p>이</p>이 도메인은 ...
- 18. bash 스크립트에서 Makefile 타겟을 반복 할 수있는 방법이 있습니까? 내 스크립트에</p> <pre><code>for *target* in *Makefile targets* do *do some stuff* done </code></pre> <p>:
- 19. Heredoc <<< 또는 <<?
- 20. 이 경우 주조 문제가있는 경우 ((X + (Y << 16)) == ('A'+ ('B'<< 16)))
- 21. <T>이
- 22. Gemfile 구문 오류 : <<<<<<< localhost를 시작하려고 할 때 HEAD
- 23. 이 요청 무한 루프
- 24. unordered_set <reference_wrapper <Ty>>이 유효합니까?
- 25. <<< EOT
- 26. 링크 오류 : unresolved operator << std :: basic_ostream for CStringT
- 27. git "<<<<<< HEAD"
- 28. "<<<<<< HEAD"템플릿에
- 29. do 표기법의 "<-"바인딩
- 30. preg_match for <? php, <?, and/or ?>
예. 좋아하는 것을 사용하십시오. – jrok
예. 'while (1)'이나'while (true)'대신에 사용할 이유가 없습니다. 그러나 내 취향에 따라 : for (;;)는 추악합니다. –
'for (;;)'은 분명히 더 나은 스타일입니다. – john